commit before starting to implement the observer pattern