<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def RegisterEventHandler(self, Event, Target):
 """Registers any callable as an event handler. :Parameters: Event : str Target : callable Callable to register as the event handler. :return: True is callable was successfully registered, False if it was already registered. :rtype: bool :see: `UnregisterEventHandler` """

        if not callable(Target):
            raise TypeError('%s is not callable' % repr(Target))
        if Event not in self._EventHandlers:
            raise ValueError('%s is not a valid %s event name' % (Event, self.__class__.__name__))
        if Target in self._EventHandlers[Event]:
            return False
        self._EventHandlers[Event].append(Target)
        self.__Logger.info('registered %s: %s', Event, repr(Target))
        return True