def observeState(self, call=None):
def _observe(call):<EOL><INDENT>self.__observers.add("<STR_LIT:*>", call)<EOL>return call<EOL><DEDENT>if call is not None:<EOL><INDENT>return _observe(call)<EOL><DEDENT>else:<EOL><INDENT>return _observe<EOL><DEDENT>
Registers an observer to the any changes.
    The called function should have 2 parameters:
    - previousState,
    - actualState

:param func call: The function to call.
                  When not given, decorator usage is assumed.
:return: the function to call once state change.
:rtype: func
:raises TypeError: if the called function is not callable

=================
How to use it
=================
-----------------
1. Calling the function
-----------------
    .. code-block:: python
        instance.observeState(functionName)
        instance.observeState(functionName)

        ...
        def functionName(previousState, actualState):

-----------------
2. Using Decoration
-----------------
    .. code-block:: python
        @instance.observeState()
        def functionName(previousState, actualState):

        @instance.observeState()
        def functionName(previousState, actualState):