@@ -0,0 +1,1644 @@
+package me.thekey.android.core.events;%0A%0Aimport android.support.annotation.NonNull;%0A%0Aimport java.util.Collections;%0Aimport java.util.LinkedHashSet;%0Aimport java.util.Set;%0A%0Aimport me.thekey.android.events.EventsManager;%0A%0Apublic final class CompoundEventsManager implements EventsManager %7B%0A    private final Set%3CEventsManager%3E mEventsManagers = new LinkedHashSet%3C%3E();%0A%0A    public CompoundEventsManager(@NonNull final EventsManager... managers) %7B%0A        Collections.addAll(mEventsManagers, managers);%0A    %7D%0A%0A    public void addEventsManager(@NonNull final EventsManager manager) %7B%0A        mEventsManagers.add(manager);%0A    %7D%0A%0A    public void removeEventsManager(@NonNull final EventsManager manager) %7B%0A        mEventsManagers.remove(manager);%0A    %7D%0A%0A    @Override%0A    public void loginEvent(@NonNull final String guid) %7B%0A        for (final EventsManager eventsManager : mEventsManagers) %7B%0A            eventsManager.loginEvent(guid);%0A        %7D%0A    %7D%0A%0A    @Override%0A    public void logoutEvent(@NonNull final String guid, final boolean changingUser) %7B%0A        for (final EventsManager eventsManager : mEventsManagers) %7B%0A            eventsManager.logoutEvent(guid, changingUser);%0A        %7D%0A    %7D%0A%0A    @Override%0A    public void changeDefaultSessionEvent(@NonNull final String guid) %7B%0A        for (final EventsManager eventsManager : mEventsManagers) %7B%0A            eventsManager.changeDefaultSessionEvent(guid);%0A        %7D%0A    %7D%0A%0A    @Override%0A    public void attributesUpdatedEvent(@NonNull final String guid) %7B%0A        for (final EventsManager eventsManager : mEventsManagers) %7B%0A            eventsManager.attributesUpdatedEvent(guid);%0A        %7D%0A    %7D%0A%7D%0A

add a compound events manager to support configuring multiple events managers