 
     return  unless target
 
-    @getListView().removeItem target
-
-    @addStackTemplateById stackTemplate._id
+    kd.singletons.computeController.fetchStacks (err, stacks) =>
+
+      return showError  if err
+
+      stackTemplate.inUse = @isTemplateInUse stacks, stackTemplate
+
+      target.setData stackTemplate
+      target.handleLabelStates()
 
 
   handleRenderStacks: (stacks) ->

    currentGroup = getGroup()
    { viewType } = @getOptions()

    stackTemplates.map (template) ->
      template.isDefault       = template._id in (currentGroup.stackTemplates or [])
      template.inUse           = Boolean stacks.find (stack) -> stack.baseStackId is template._id
      template.canForcedReinit = canEditGroup and template.accessLevel is 'group'

    if viewType is 'group'

    return stackTemplates


  isTemplateInUse: (stacks = [], stackTemplate) -> Boolean stacks.find (stack) -> stack.baseStackId is stackTemplate._id


  destroy: ->

    { computeController, groupsController } = kd.singletons
