List<MessageCallback> observerCallbacks = eventObservers.get(eventType);
if (observerCallbacks == null) {
eventObservers.put(eventType, observerCallbacks = new ArrayList<MessageCallback>());
}
observerCallbacks.add(callback);
return new Subscription() {
@Override
public void remove() {
unsubscribe(eventType, callback);
}
};