Feature pubsub

I've added pub/sub abilities to the ViewModels, Models and Collections. Obviously, we'll need to get the Models and collections merged in before this, but I wanted to keep it in a separate pull request that we can look at after models and collections get merged into dev. I'm thinking they could both be part of the same release.