docs: def unbind (self, event, callback):
          """
          Unbind the callback from the event and ensure that it is never called
          :param event: the event that should be unbound
          :type event: str
          :param callback: the function that should be unbound
          :rtype callback: function
          """
          if self._events.has_key(event) and len(self._events[event]) > 0:
              for _callback in self._events[event]:
                  if _callback == callback:
                      self._events[event].remove(callback)
                  if len(self._events[event]) == 0:
                      del self._events[event]