class ContainerPresenter {

    protected void updateStatus(final KieContainerStatus status) {
        switch (status) {
            case CREATING:
            case STARTED:
                view.disableRemoveButton();
                view.setContainerStartState(State.ENABLED);
                view.setContainerStopState(State.DISABLED);
                view.updateToggleActivationButton(false);
                view.enableToggleActivationButton();
                break;
            case DEACTIVATED:
                view.disableRemoveButton();
                view.setContainerStartState(State.ENABLED);
                view.setContainerStopState(State.DISABLED);
                view.updateToggleActivationButton(true);
                view.enableToggleActivationButton();
                break;                
            case STOPPED:
                view.updateToggleActivationButton(false);
            case DISPOSING:
            case FAILED:
                view.enableRemoveButton();
                view.setContainerStartState(State.DISABLED);
                view.setContainerStopState(State.ENABLED);
                view.disableToggleActivationButton();
                break;
        }
    }

    @Inject public  ContainerPresenter(final Logger logger,
                              final View view,
                              final ContainerRemoteStatusPresenter containerRemoteStatusPresenter,
                              final ContainerStatusEmptyPresenter containerStatusEmptyPresenter,
                              final ContainerProcessConfigPresenter containerProcessConfigPresenter,
                              final ContainerRulesConfigPresenter containerRulesConfigPresenter,
                              final Caller<RuntimeManagementService> runtimeManagementService,
                              final Caller<SpecManagementService> specManagementService,
                              final Event<ServerTemplateSelected> serverTemplateSelectedEvent,
                              final Event<NotificationEvent> notification);

}