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.
this is so beautiful it brings tears to my eyes :cry: