Simpler and more powerful decorator

See #48 for all the gory details.
What does this do for PUT/DELETE/etc?