     if options.keyNav
       listView.on 'KeyDownOnList', (event)=> @keyDownPerformed listView, event
 
-  loadView:(mainView)->
-
-    options = @getOptions()
-    if options.scrollView
-      mainView.addSubView @scrollView
+  loadView: (mainView) ->
+
+    { scrollView
+      startWithLazyLoader
+      noItemFoundWidget
+    } = @getOptions()
+
+    {windowController} = KD.singletons
+
+    if scrollView
+      mainView.addSubView @customScrollView
       @scrollView.addSubView @getListView()
-      if options.startWithLazyLoader
-        @showLazyLoader no
+      @showLazyLoader no  if startWithLazyLoader
+
       @scrollView.on 'LazyLoadThresholdReached', @bound "showLazyLoader"
 
-    if options.noItemFoundWidget
-      @putNoItemView()
-
-    @instantiateListItems(@getData()?.items or [])
-    KD.getSingleton("windowController").on "ReceivedMouseUpElsewhere", (event)=> @mouseUpHappened event
+    @putNoItemView()  if noItemFoundWidget
+
+    @instantiateListItems @getData()?.items or []
+
+    windowController.on "ReceivedMouseUpElsewhere", @bound 'mouseUpHappened'
+
+
 
   instantiateListItems:(items)->
     newItems = for itemData in items

      @setListView listView = new KDListView viewOptions

    if options.scrollView
      @scrollView = new KDScrollView
        lazyLoadThreshold : options.lazyLoadThreshold
        ownScrollBars     : options.ownScrollBars

    options.view = if options.wrapper
    then new KDView cssClass : "listview-wrapper"

KDView             = require './../../core/view.coffee'
KDViewController   = require './../../core/viewcontroller.coffee'
KDCustomScrollView = require './../scrollview/customscrollview.coffee'
KDListView         = require './../list/listview.coffee'
KDLoaderView       = require './../loader/loaderview.coffee'

module.exports = class KDListViewController extends KDViewController

