Simpler and more powerful decorator

See #48 for all the gory details.
I think this is a big enough rewrite that you could take the opportunity to deprecate/remove anything now. I'm not sure you have to wait for 1.0.