@Override
    public void UpdateAvailable(AppEvent e) {
        //TODO: replace instanceof likeness with something polymorphic ?

        if (e.getClass() == UserContextUpdatedAppEvent.class) {
            UserContextUpdatedAppEvent subject = (UserContextUpdatedAppEvent) e;
            UserContext context = subject.getContext();
            UserContext.ContextType contextType = context.getActiveContext();
            if (contextType == UserContext.ContextType_Project) {
                this.setSelectedIndex(0);
                this.setEnabledAt(1, false);
                this.setEnabledAt(2, false);
                _activeClass = null;
            } else if (contextType == UserContext.ContextType_Class) {
                _activeClass = (ProjectClass) context.getContextObject();
                populateClassSettings(_activeClass);
                setEnabledAt(1, true);
                setEnabledAt(2, true);
            }
        } else if (e.getClass() == ProjectUpdatedAppEvent.class) {
            ProjectUpdatedAppEvent subject = (ProjectUpdatedAppEvent) e;

            if (subject.getType() == ProjectUpdatedAppEvent.UpdateType_LoadProject) {
                populateProjectSettings(App.getProject());
            } else if (subject.getType() == ProjectUpdatedAppEvent.UpdateType_ChangeClasses) {
                //We ignore this.. just looking for context
                //changes with classes...
            }
        }
    }