       ( @el.find sel ).unbind ev, null, @[funk]
       ( @el.find sel ).bind   ev, null, @[funk]
 
-  ###
-  Triggers view "animation in", "@after_in" must be called in the end
+  ###*
+    If there is a `@before_in` method implemented, it will be called before the view execute it's intro animations. Useful to setting up the DOM elements properties before animating them.
+
+    @method before_in    
+  ###
+
+  ###*
+    The `in` method is where the view intro animations are defined. It is executed after the `@after_render` method.
+
+    The `@after_in` method must be called at the end of the animations, to Theoricus knows that the View finished animating.
+
+    @method in
   ###
   in:()->
     @before_in?()

Model = require 'theoricus/mvc/model'
Factory = null

module.exports = class View

  # @property page title
  title: null

  # $ reference to dom element
  el: null

  # @property [String] class path
  classpath : null

  # @property [String] class name
  classname : null

  # @property [String] namespace
  namespace : null
  
  # @property [theoricus.core.Process] process
  process   : null

  ###
  @param [theoricus.Theoricus] @the   Shortcut for app's instance
  ###
  _boot:( @the )->
    Factory = @the.factory
    @

  ###
  @param [Object] @data   Data to be passed to the template
  @param [Object] @el     Element where the view will be "attached/appended"
  ###
  _render:( data = {}, template )=>
    @data = 

        $( window ).bind   'resize', @_on_resize
        @on_resize()

  ###*
    If there is an `after_render` method implemented, it will be executed after the view's template is appended to the document. Useful for caching DOM elements as jQuery objects.

    @method after_render
    @param data {Object} Reference to the `@data`
  ###

  ###*
    If there is an `@on_resize` method implemented, it will be executed whenever the window triggers the `scroll` event.

    @method on_resize
  ###
  _on_resize:=>
    do @on_resize

  ###*
    Process the `@events`, automatically binding them.

    @method set_triggers
  ###
  set_triggers: () =>
    return if not @events?
