Added basic observer implementation
Fixed bug