Allows to notify objects that an event has happened. Also, allows to observe when an instance variable changes.
Added support for boolean instance variables.