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.
however...we should ruin its beauty and add a `destroy` event to be consistent w. the rest of library. We can remove all of those callbacks in 1 go in a future major release.