'Register an event handler for a given event.
If a ``unique_id`` is given, the handler will not be registered
if a handler with the ``unique_id`` has already been registered.
Handlers are called in the order they have been registered.
Note handlers can also be registered with ``register_first()``
and ``register_last()``.  All handlers registered with
``register_first()`` are called before handlers registered
with ``register()`` which are called before handlers registered
with ``register_last()``.'

def register(self, event_name, handler, unique_id=None, unique_id_uses_count=False):

    self._verify_and_register(event_name, handler, unique_id, register_method=self._register, unique_id_uses_count=unique_id_uses_count)
