class ContainerProcessConfigPresenter {

    public void save() {
        view.disableActions();
        final ProcessConfig newProcessConfig = processConfigPresenter.buildProcessConfig();
        specManagementService.call( new RemoteCallback<Void>() {
                                        @Override
                                        public void callback( final Void containerConfig ) {
                                            notification.fire( new NotificationEvent( view.getSaveSuccessMessage(), NotificationEvent.NotificationType.SUCCESS ) );
                                            setupView( newProcessConfig );
                                        }
                                    },
                                    new ErrorCallback<Object>() {
                                        @Override
                                        public boolean error( final Object o,
                                                              final Throwable throwable ) {
                                            notification.fire( new NotificationEvent( view.getSaveErrorMessage(), NotificationEvent.NotificationType.ERROR ) );
                                            setupView( processConfigPresenter.getProcessConfig() );
                                            return false;
                                        }
                                    } )
                .updateContainerConfig( processConfigPresenter.getContainerSpecKey().getServerTemplateKey().getId(),
                                        processConfigPresenter.getContainerSpecKey().getId(),
                                        Capability.PROCESS,
                                        newProcessConfig );
    }

    @Inject public  ContainerProcessConfigPresenter( final View view,
                                            final ProcessConfigPresenter processConfigPresenter,
                                            final Caller<SpecManagementService> specManagementService,
                                            final Event<NotificationEvent> notification );

}