Add the observer pattern so that we can add renderer showing e.g. execution of the model
Add license header