LGTM
http://gwt-code-reviews.appspot.com/841804/diff/1/19 File user/src/com/google/gwt/event/shared/AbstractEventBus.java (right): http://gwt-code-reviews.appspot.com/841804/diff/1/19#newcode8 user/src/com/google/gwt/event/shared/AbstractEventBus.java:8: public abstract class AbstractEventBus implements EventBus {
Should I even bother with the interface?
Make EventBus an abstract base class. http://gwt-code-reviews.appspot.com/841804/diff/1/37 File user/test/com/google/gwt/event/shared/CountingEventBus.java (right): http://gwt-code-reviews.appspot.com/841804/diff/1/37#newcode29 user/test/com/google/gwt/event/shared/CountingEventBus.java:29: * for tests.
Done. Should you do the same w/editor mocks?
They're already in editor.client.testing. http://gwt-code-reviews.appspot.com/841804/diff/11002/17023 File user/src/com/google/gwt/event/shared/SimpleEventBus.java (right): http://gwt-code-reviews.appspot.com/841804/diff/11002/17023#newcode55 user/src/com/google/gwt/event/shared/SimpleEventBus.java:55: * because fully supporting it (that is, not segrating filtered and unfiltered segregating http://gwt-code-reviews.appspot.com/841804/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors