Adding observer pattern util