<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_command(self, name, handler, validator):
 """Register a coroutine command handler. This handler will be called whenever a command message is received from the client, whose operation key matches ``name``. The handler will be called as:: response_payload = await handler(cmd_payload, context) If the coroutine returns, it will be assumed to have completed correctly and its return value will be sent as the result of the command. If the coroutine wishes to signal an error handling the command, it must raise a ServerCommandError exception that contains a string reason code for the error. This will generate an error response to the command. The cmd_payload is first verified using the SchemaVerifier passed in ``validator`` and handler is only called if verification succeeds. If verification fails, a failure response to the command is returned automatically to the client. Args: name (str):
 The unique command name that will be used to dispatch client command messages to this handler. handler (coroutine function):
 A coroutine function that will be called whenever this command is received. validator (SchemaVerifier):
 A validator object for checking the command payload before calling this handler. """


        self._commands[name] = (handler, validator)