Starting with some work with the observer pattern.

Thoughts @tute? I thought this would be a good first step