code: @Override
  	public void on(String name, Tree payload, Groups groups, boolean broadcast) throws Exception {
  		FastBuildTree msg = new FastBuildTree(6);
  		msg.putUnsafe("ver", ServiceBroker.PROTOCOL_VERSION);
  		msg.putUnsafe("sender", currentNodeID);
  		msg.putUnsafe("event", name);
  		msg.putUnsafe("broadcast", broadcast);
  		if (groups != null) {
  			String[] array = groups.groups();
  			if (array != null && array.length > 0) {
  				msg.putUnsafe("groups", array);
  			}
  		}
  		if (payload != null) {
  			msg.putUnsafe("data", payload);
  		}
  		transporter.publish(PACKET_EVENT, nodeID, msg);
  	}
docs: --- INVOKE REMOTE LISTENER ---