@JosephWright I also think the way the unknown-key handler is undefined \AtEndOfPackage is unfortunate. Consider the following use case: I define keys, I like the default error handling during option-processing, but afterwards I want to define a dedicated unknown handler which does something different in if the \fooSetup macro is used. Now I have to also put that code in \AtEndOfPackage because of something non-obvious.
@mickep I tried to upvote that answer (didn't notice I already upvoted it) and got this: You last voted on this answer Apr 28, 2014 at 0:05. Your vote is now locked in unless this answer is edited.