   rendering: false
 
   # Render by default calls delegateEvents
-  render: ->
+  render: =>
     super
 
     @rendering = true

    # If no eventhub is provided, this object is used as the eventhub.
    @eventhub = @options.eventhub || @

    # Bind all functions within this object (including functions defined in
    # derived classes) to `this`. This exempts you from having to bind
    # functions to their respective objects throughout the codebase.
    _.bindAll @

    # optionally add custom class names
    if @options.extraClasses
      _.each @options.extraClasses, (name) =>
        @$el.addClass name

  # Utility function for the complete removal of a View.
  destroy: ->
    @rendering = false
    @remove()
    @unbind()

    @

  # Renders only if the view is in the ``rendering`` state.
  softRender: =>
    if @rendering
      @render()

