def emit(self, signal, message='__nomessagetoken__'):
        """Emit a signal to the frontend.

        :param str signal: name of the signal
        :param message: message to send
        :returns: return value from frontend emit function
        :rtype: tornado.concurrent.Future
        """
        # call pre-emit hooks
        if signal == 'log':
            self.log_backend.info(message)
        elif signal == 'warn':
            self.log_backend.warn(message)
        elif signal == 'error':
            self.log_backend.error(message)

        return self.emit_to_frontend(signal, message)