<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def trigger(self, **event):
 """Trigger an event. Event parameters are passed as keyword arguments. Passing an `event` argument isn't required, but generally recommended. """


        if not event:
            raise ValueError("tried to trigger nothing")
        for hook in self.hooks:
            if hook.matches(event):
                hook.execute(self, event)