<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def start(address, channel, key, loop=None):
 """Starts a new Interactive client. Takes the remote address of the Tetris robot, as well as the channel number and auth key to use. Additionally, it takes a list of handler. This should be a dict of protobuf wire IDs to handler functions (from the .proto package). """


    if loop is None:
        loop = asyncio.get_event_loop()

    socket = yield from websockets.connect(address+"/robot", loop=loop)

    conn = Connection(socket, loop)
    yield from conn.send(_create_handshake(channel, key))

    return conn