Add Observer interface
Add Observable interface & implementation