       #
       close:(_view, callback)->
         unless _view?
-          callback?()
+          callback? _view
           return
-        finish = _.after 2, => callback?()              #--finish 3 times
+        finish = _.after 2, => callback? _view              #--finish 3 times
         if @_$_p.currentView? and @_$_p.currentView isnt _view
           @close @_$_p.currentView, finish
         else
           finish()
 
         @_setCurrentView null
-        _view.closeCurrent finish
+        _view.closeCurrent finish, this
         _view
 
       # Alias showViewAnimation(this)

          this.trigger "render"
          @render()

        finish = _.after 3, => callback?()              #--finish 3 times

        if(regions = _.result(this,"regions"))
          keys = _.chain(regions)

      # Helper method which can descride animation/behavior for `view` while base view `show` `view`. By default using `view.$el.show()`
      showViewAnimation:(view, callback)->
        unless view?
          callback? view
          return
        if view.showAnimation? and view isnt this
          view.showAnimation callback
        else
          view.$el.show()
          callback? view

      # Helper method which can descride animation/behavior for `view` while base view `close` `view`. By default using `view.$el.show()`
      closeViewAnimation:(view, callback)->
        unless view?
          callback? view
          return
        if view.closeAnimation? and view isnt this
          view.closeAnimation callback
        else
          view.$el.hide()
          callback? view

      # Depedencies Injection functionality
      # `options` - options for `new View(options)`  operations
