       Events.CredentialChangesRevertRequested
     ], @bound 'updateCredentialSelections'
 
-    @listController.on Events.CredentialChangesSaveRequested, =>
-      @handleSaveChanges()
+    @listController.on Events.CredentialChangesSaveRequested, => @save()
 
     @list = @listController.getListView()
     @list.on Events.CredentialSelectionChanged, =>

    return credentials


  handleSaveChanges: (credentials, callback = kd.noop) ->

    credentials  ?= @getSelectedCredentials()
    stackTemplate = @getData()

    stackTemplate.update { credentials }, (err, updatedTemplate) =>


    templateCredentials = stackTemplate.getCredentialProviders()

    if @isSelectionChanged() and _.size selectedCredentials
      @save selectedCredentials, callback
    else if templateCredentials.length is 0
      @emit Events.WarnAboutMissingCredentials
      callback { error: 'Missing Credentials' }
