final HandlerRegistration handlerRegistration = eventBus.addHandler(eventType, handler);
return new HandlerRegistration() {
@Override
public void removeHandler() {
handlerRegistration.removeHandler();
// defer in case the handler removal has been deferred
Scheduler.get().scheduleDeferred(new Scheduler.ScheduledCommand() {
@Override
public void execute() {