         KD.getSingleton("kodingAppsController").putAppResources appInstance, callback
       callback? appInstance
 
-  show:(appOptions, callback)->
-
-    appInstance = @get appOptions.name
-
-    if appOptions.background
-      return @utils.defer -> callback? appInstance
+  show:(name, appParams, callback)->
+
+    appOptions  = KD.getAppOptions name
+    appInstance = @get name
 
     appView     = appInstance.getView?()
     return unless appView

      options            or= {}
      appOptions           = KD.getAppOptions name
      appParams            = options.params or {}
      defaultCallback      = -> createOrShow appOptions, appParams, callback
      kodingAppsController = KD.getSingleton("kodingAppsController")

      # If app has a preCondition then first check condition in it


  open: do ->

    createOrShow = (appOptions = {}, appParams, callback = noop)->

      name = appOptions?.name
      return @handleAppNotFound()  unless name

      appInstance = @get name
      cb = if appParams.background or appOptions.background
      then -> KD.utils.defer callback
      else @show.bind this, name, appParams, callback

      if appInstance then cb() else @create name, appParams, cb

    (name, options, callback)->

