   constructor: (options) ->
     options = options or {}
     @attributes = options.attributes or {}
-    @data = options.data or {}
+    @_data = options.data or {}
 
     spyOn(@, 'attr').andCallThrough()
+    spyOn(@, 'removeAttr').andCallThrough()
     spyOn(@, 'find')
     spyOn(@, 'closest')
     spyOn(@, 'append').andCallThrough()

    spyOn(@, 'children').andCallThrough()
    spyOn(@, 'addClass').andCallThrough()
    spyOn(@, 'removeClass').andCallThrough()

  attr: (name) ->
    return @attributes[name]
  
  setAttr: (name, value) ->
    @attributes[name] = value
  
  data: (name) ->
    return @data[name]
  
  setData: (name, value) ->
    @data[name] = value

  html: (value) ->
    if(_.isUndefined(value))

  addClass: () ->

  removeClass: () ->

  css: (style) ->
    if @style
      @style = style
    else
      return @style or ''

  append: (html) ->
    if @htmlData
