def METHOD_NAME(self, callback, callback_params=None):
    if not self.callback:
        if callback_params is None:
            callback_params = dict()
        partial_callback = functools.partial(callback, **callback_params)
        self.callback = partial_callback
    else:
        raise MolerException("Cannot assign a callback '{}' to event '{}' when another callback '{}' is already "
                             "assigned".format(callback, self, self.callback))