<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def register_callback(self, callback):
 """ Register a new callback. Note: The callback will be executed in the AlarmTask context and for this reason it should not block, otherwise we can miss block changes. """

        if not callable(callback):
            raise ValueError('callback is not a callable')

        self.callbacks.append(callback)