Started implementation of observer pattern and lifecycle methods.