Create a decorator function to replace withDevice.

It doesn't do horrid stack manipulation, either, which is another
benefit. Still need to convert the rest of the Controller types.