       item = @itemsIndexed[id]
       callback item  if item?
 
-  showNoItemWidget:->
-    {noItemFoundWidget, noMoreItemFoundWidget} = @getOptions()
-    if @itemsOrdered.length > 0
-      @scrollView.addSubView noMoreItemFoundWidget if noMoreItemFoundWidget
-    else
-      @scrollView.addSubView noItemFoundWidget if noItemFoundWidget
-
-  hideNoItemWidget:->
-    {noItemFoundWidget, noMoreItemFoundWidget} = @getOptions()
-    noItemFoundWidget.destroy()     if noItemFoundWidget
-    noMoreItemFoundWidget.destroy() if noMoreItemFoundWidget
+  putNoItemView:->
+    {noItemFoundWidget} = @getOptions()
+    @getListView().addSubView @noItemView = noItemFoundWidget
+
+  showNoItemWidget:-> @noItemView.show() if @itemsOrdered.length is 0
+  hideNoItemWidget:-> @noItemView.hide()
+
+  # regressed, will put back whenever i'm here again. - SY
+  showNoMoreItemWidget:->
+    {noMoreItemFoundWidget} = @getOptions()
+    @scrollView.addSubView noMoreItemFoundWidget if noMoreItemFoundWidget
+
 
   ###
   ITEM OPERATIONS

    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= {}

    options.noItemFoundWidget     or= null
    options.noMoreItemFoundWidget or= null

    defaultOptions = options.defaultItem.options
    defaultOptions.partial        or=  'This list is empty'

    @itemsOrdered                 = [] unless @itemsOrdered
    @itemsIndexed                 = {}

  HELPERS
  ###

  itemForId:(id)-> @itemsIndexed[id]

  getItemsOrdered:-> @itemsOrdered

  getItemCount:-> @itemsOrdered.length

  setListView:(listView)-> @listView = listView

  getListView:-> @listView

  forEachItemByIndex:(ids, callback)->
    [callback, ids] = [ids, callback]  unless callback
