@@ -0,0 +1,1011 @@
+package galileo.event;%0A%0Aimport java.io.IOException;%0A%0Aimport galileo.net.ClientMessageRouter;%0Aimport galileo.net.GalileoMessage;%0Aimport galileo.net.NetworkDestination;%0A%0A/**%0A * This class makes it easy to publish events from a client to a server by%0A * linking a %7B@link ClientMessageRouter%7D instance to a %7B@link EventReactor%7D%0A * instance.  This helps avoid message wrapping boilerplate every time an event%0A * will be sent.%0A *%0A * @author malensek%0A */%0Apublic class EventProducer %7B%0A%0A    private ClientMessageRouter router;%0A    private EventReactor reactor;%0A%0A    public EventProducer(ClientMessageRouter router, EventReactor reactor) %7B%0A        this.router = router;%0A        this.reactor = reactor;%0A    %7D%0A%0A    /**%0A     * @param destination The server to publish the event to.%0A     * @param e Event to be published.%0A     */%0A    public void publishEvent(NetworkDestination destination, Event e)%0A    throws IOException %7B%0A        GalileoMessage m = reactor.wrapEvent(e);%0A        router.sendMessage(destination, m);%0A    %7D%0A%7D%0A

Add convenience class for publishing events