The proton reactor provides a general purpose event processing library for writing reactive programs. A reactive program is defined by a set of event handlers. An event handler is just any class or object that extends the Handler interface. For convenience, a class can extend {@link BaseHandler} and only handle the events that it cares to implement methods for. <p> This class is not thread safe (with the exception of the {@link #wakeup()} method) and should only be used by a single thread at any given time.