Adding clojure like multi method decorators