<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def add_observer(self, o, component_type=ComponentType):
 """ Add a callback that will get invoked after each component is called. Args: o (func):
 the callback function Keyword Args: component_type (ComponentType):
 the :class:`ComponentType` to observe. The callback will fire any time an instance of the class or its subclasses is invoked. The callback should look like this: .. code-block:: python def callback(comp, broker):
 value = broker.get(comp) # do something with value pass """


        self.observers[component_type].add(o)