class SettingsScreenPresenter implements HasBusyIndicator {

    public void save() {
        if (canUpdate()) {
            sectionManager.validateAll().then(i -> {
                save(""); // Save with comments might be useful in the future when we have more sections
                return promises.resolve();
            }).catch_(o -> promises.catchOrExecute(o, e -> {
                hideBusyIndicator();
                return promises.reject(e);
            }, (final Section<SpaceScreenModel> section) -> {
                hideBusyIndicator();
                return sectionManager.goTo(section);
            }));
        }
    }

    @Inject public  SettingsScreenPresenter(final View view,
                                   final TranslationService ts,
                                   final OrganizationalUnitController organizationalUnitController,
                                   final WorkspaceProjectContext projectContext,
                                   final BusyIndicatorView busyIndicatorView,
                                   final SectionManager<SpaceScreenModel> sectionManager,
                                   final @SpaceSettings SettingsSections settingsSections,
                                   final Promises promises,
                                   final Event<NotificationEvent> notificationEvent);

}