Observer pattern...

Checking in changes for observer pattern. Including self-made and native
implementation.