async def METHOD_NAME(self, m_bytes):
    try:
        message = ComsMessage()
        message.ParseFromString(m_bytes)
        if not message.payloadType:
            # should log bad request
            return
        clas = getattr(coms, message.payloadType)
        request = clas()
        request.ParseFromString(message.payload)
        self._transactions[message.id] = request
        if type(request) == InstanceRequest:
            if message.instanceId == '':
                instance = self._session.create()  # create new
            elif message.instanceId not in self._session:
                raise NoSuchInstanceException()
            else:
                instance = self._session[message.instanceId]
            instance.set_coms(self)
            response = InstanceResponse()
            response.instanceId = instance.id
            self.send(response, instance.id, request)
        else:
            instance = self._session[message.instanceId]
            instance.set_coms(self)
            await instance.on_request(request)
    except NoSuchInstanceException:
        self.send_error(
            message='No such instance',
            instance_id=message.instanceId,
            response_to=request)
    except Exception as e:
        # would be nice to send_error()
        log.exception(e)