Changed model to an observable model and added an observer interface.