First cut of observer pattern mixin library

@vikasgarghb @Pickra @loghinr Mind taking a look at this?