     @_setupSVGObject(options)
     @model.on 'change', @onModelChange
     @svgDocument.registerObject(this)
-
-  on: (args...) -> @emitter.on(args...)
 
   ###
   Section: Public Methods

  getID: -> "#{@getType()}-#{@id}"

  toString: -> @model.toString()

  getPosition: -> @model.getPosition()

  setPosition: (x, y) -> @model.setPosition(x, y)

  getSize: -> @model.getSize()

  setSize: (w, h) -> @model.setSize(w, h)

  translate: (x, y) -> @model.translate(x, y)

  remove: ->
    @svgEl.remove()

module.exports =
class Rectangle
  Draggable.includeInto(this)
  Delegator.includeInto(this)

  @delegatesMethods 'on', toProperty: 'emitter'
  @delegatesMethods 'getPathString',
    'getPosition', 'setPosition'
    'getSize', 'setSize'
    'translate'
    toProperty: 'model'

  constructor: (@svgDocument, options={}) ->
    @emitter = new Emitter
