'Execute the hook with the given args
:param args: argument list to hook
:raise HookError: hook execution failure
:return: a hook may return a useful value'

def execute(self, *args):

    raise NotImplementedError(self.execute)
