Refactor the agent to be a little bit more opinionated

Most of these changes are very basic, but slowly we push against the ocean and the ocean molds to our liking. 



We can remove this non-sense by simply addind `extend` to the list of Backbone properties we already watch for like `View` and `Model`. **duh** :facepunch: