 
   constructor:(options={}, data)->
 
-    options.cssClass = KD.utils.curry 'kd-slide', options.cssClass
+    options.cssClass      = KD.utils.curry 'kd-slide', options.cssClass
+    options.animation    ?= 'move'         # can be move or rotate
+    options.direction    ?= 'leftToRight'  # can be leftToRight or topToBottom
+    options.touchEnabled ?= yes
 
     super options, data
 

    @_coordsY  = []
    @_currentX = 0

    hammer = Hammer @getElement()

    hammer.on "swipeleft",  @bound 'nextPage'
    hammer.on "swiperight", @bound 'previousPage'
    hammer.on "swipeup",    @bound 'nextSubPage'
    hammer.on "swipedown",  @bound 'previousSubPage'

  addPage:(page)->
    @addSubView page

    index = Math.min pages.length - 1, Math.max 0, pageIndex
    return if current is index

    direction = if index < current then 0 else 1

    if coord is X_COORD
      currentPage = pages[current][@_coordsY[current]]
      newPage     = pages[index][@_coordsY[index]]
      @_currentX  = index
      newPage.move     @xcoordAnimations[0][direction]
      currentPage.move @xcoordAnimations[1][direction]
    else
      currentPage = pages[current]
      newPage     = pages[index]
      @_coordsY[@_currentX] = index
      newPage.move     @ycoordAnimations[0][direction]
      currentPage.move @ycoordAnimations[1][direction]

    @emit 'CurrentPageChanged', x: @_currentX, y:@_coordsY[@_currentX]

