 
   constructor:(options = {}, data)->
 
-    options.wrapper             ?= yes
-    options.scrollView          ?= yes
-    options.keyNav              ?= no
-    options.multipleSelection   ?= no
-    options.selection           ?= yes
-    options.startWithLazyLoader ?= no
-    options.itemChildClass     or= null
-    options.itemChildOptions   or= {}
-
-    @itemsOrdered                = [] unless @itemsOrdered
-    @itemsIndexed                = {}
-    @selectedItems               = []
-    @lazyLoader                  = null
+    options.wrapper               ?= yes
+    options.scrollView            ?= yes
+    options.keyNav                ?= no
+    options.multipleSelection     ?= no
+    options.selection             ?= yes
+    options.startWithLazyLoader   ?= no
+    options.itemChildClass        or= null
+    options.itemChildOptions      or= {}
+    options.showDefaultItem       or= no
+    options.defaultItem           or= {}
+    options.defaultItem.itemClass or= KDView
+    options.defaultItem.options   or= {}
+    options.defaultItem.data      or= {}
+
+    defaultOptions = options.defaultItem.options
+    defaultOptions.partial        or=  'This list is empty'
+
+    @itemsOrdered                 = [] unless @itemsOrdered
+    @itemsIndexed                 = {}
+    @selectedItems                = []
+    @lazyLoader                   = null
+
 
     if options.view
       @setListView listView = options.view

    newItems = for itemData in items
      @getListView().addItem itemData

    @emit "AllItemsAddedToList"

    # Implement no Item found widget support FIXME GG

  addItem:(itemData, index, animation)->

    @getListView().addItem itemData, index, animation
    @putDefaultItem @getListView().items

  removeItem:(itemInstance, itemData, index)->

    @getListView().removeItem itemInstance, itemData, index
    @putDefaultItem @getListView().items
    dataId = itemData.getId?()

  registerItem:(view, index)->
