Validate keyword args to watcher and reduce handlers to one arg, we're already dispatching on the event type, no need to pass it again. If you want to reuse one function, pass a (partial f :create) for example
Neaten up and generalise to has-arity? predicate rather than returning
the first method it sees (which might not be the appropriate one)
Merge pull request #1 from AdamClements/validation_changes

Extra validation and handler function arity change