Simpler and more powerful decorator

See #48 for all the gory details.
I'm just thinking out loud. I don't mean to push you into anything you don't want to do. :rainbow: