Allows to notify objects that an event has happened. Also, allows to observe when an instance variable changes.
how to use it?