Observer pattern model v0.4