Object

`Object` is almost an entire port of `Controller`. Ideally, we should be able to add enhancements to both once Object lands. I think @thejameskyle has some ideas for things we can add for Object. As for Controller, it will get some goodness over the course of 2.x.
Okay, will try writing something like that