 
   constructor:(options = {}, data)->
 
-    options.cssClass or= 'start-tab'
+    options.cssClass = 'start-tab'
 
     super options, data
 
-    @listenWindowResize()
+    @appIcons   = {}
+    appStorages = KD.getSingleton('appStorageController')
+    @appStorage = appStorages.storage 'Finder', '1.1'
+    @_connectAppsController()
 
-    @appIcons = {}
-    mainView  = KD.getSingleton('mainView')
-
-    @appStorage     = KD.getSingleton('appStorageController').storage 'Finder', '1.1'
-    @appsController = KD.getSingleton("kodingAppsController")
-
-    @appsController.on "AppsRefreshed", (apps)=>
-      @decorateApps apps
-
-    @appsController.on "AppsDataChanged", @bound "updateAppIcons"
-    @appsController.on "InvalidateApp", @bound "removeAppIcon"
-    @appsController.on "UpdateAppData", @bound "createAppIcon"
-
-    @finderController = KD.getSingleton "finderController"
-    @finderController.on 'recentfiles.updated', =>
-      @updateRecentFileViews()
+    # Main view elements
 
     @loader = new KDLoaderView size : width : 16
 
+    @appItemContainer = new StartTabAppItemContainer
+      cssClass : 'app-item-container'
+      delegate : this
+
+    @serversWrapper = new KDView
+      cssClass : 'file-container'
+
+  # Application Specific Operations
+
+  _connectAppsController:->
+    @appsController = KD.getSingleton("kodingAppsController")
+
+    @appsController.on "AppsRefreshed",   (apps)=> @decorateApps apps
+    @appsController.on "AppsDataChanged", @bound "updateAppIcons"
+    @appsController.on "InvalidateApp",   @bound "removeAppIcon"
+    @appsController.on "UpdateAppData",   @bound "createAppIcon"
+
     @on 'refreshAppsMenuItemClicked', =>
       @appsController.syncAppStorageWithFS yes
-
     @on 'makeANewAppMenuItemClicked', =>
       @appsController.makeNewApp()
-
-    @appItemContainer = new StartTabAppItemContainer
-      cssClass : 'app-item-container'
-      delegate : @
-
-    @recentFilesWrapper = new KDView
-      cssClass : 'file-container'
-
-    @downloadFilesLink = new KDCustomHTMLView
-    userJoinDate       = new Date(KD.whoami().meta.createdAt).getTime()
-    oldKodingDownDate  = 1374267600000
-
-    if userJoinDate < oldKodingDownDate
-      @appStorage.fetchStorage (err, storage) =>
-        return if @appStorage.getValue "HideOldKodingDownloadLink"
-
-        @downloadFilesLink.addSubView text = new KDCustomHTMLView
-          cssClass     : "download-files-link"
-          partial      : "Click here to get download link for your old Koding files"
-          click        : ->
-            KD.whoami().fetchOldKodingDownloadLink (err, url) ->
-              modal          = new KDModalView
-                cssClass     : "modal-with-text old-file-download-modal"
-                overlay      : yes
-                title        : "Your old Koding files"
-                content      : """
-                  <p>
-                    You can use the following link to download your files. Note that these files won't be available after Sep 1, 2013. You have to download before then.
-                    <a href="#{url}" class="download-link" target="_blank">#{url}</a>
-                  </p>
-                """
-                buttons      :
-                  Close      :
-                    title    : "Close"
-                    cssClass : "modal-cancel"
-                    callback : -> modal.destroy()
-
-        text.addSubView new KDCustomHTMLView
-          cssClass : "close-download-notification"
-          tagName  : "span"
-          tooltip  :
-            title  : "Don't show this again."
-          click    : (e) =>
-            e.stopPropagation()
-            @downloadFilesLink.destroy()
-            @appStorage.setValue "HideOldKodingDownloadLink", yes
-
-  showLoader:->
-
-    @loader.show()
-    @$('h1.loaded, h2.loaded').addClass "hidden"
-    @$('h2.loader').removeClass "hidden"
-
-  hideLoader:->
-
-    @loader.hide()
-    @$('h2.loader').addClass "hidden"
-    @$('h1.loaded, h2.loaded').removeClass "hidden"
-
-  viewAppended:->
-
-    super
-
-    @addRealApps()
-    @addSplitOptions()
-    @addRecentFiles()
-
-    if KD.isGuest()
-      unless $.cookie "guestForFirstTime"
-        @utils.wait 5*60*1000, =>
-          @showGuestNotification()
-          $.cookie "guestForFirstTime", yes
-      else
-        @showGuestNotification()
-
-  _windowDidResize:->
-
-  pistachio:->
-    """
-    <div class='app-list-wrapper'>
-      <header>
-        <h1 class="start-tab-header loaded hidden">This is your Development Area</h1>
-        <h2 class="loaded hidden">You can install more apps on Apps section, or use the ones below that are already installed.</h2>
-        <h2 class="loader">{{> @loader}} Loading applications...</h1>
-      </header>
-      {{> @appItemContainer}}
-    </div>
-    <div class='start-tab-split-options expanded'>
-      <h3>Start with a workspace</h3>
-    </div>
-    <div class='start-tab-recent-container'>
-      <h3>Recent files:</h3>
-      {{> @recentFilesWrapper}}
-    </div>
-    """
 
   addRealApps:->
 

          KD.getSingleton("finderController").unmountVm defaultVmName
          KD.getSingleton("vmController").emit 'VMListChanged'
          $.cookie "clientId", erase: yes
          $.cookie "guestForFirstTime", erase: yes
    # To make sure its always the last icon
    @createGetMoreAppsButton()

  # Guest Notifications if necessary
  #
  # We need to inform Guest users to register a new account in 20 min.

  startGuestTimer:->
    return  unless KD.isGuest()
    unless $.cookie "guestForFirstTime"
      @utils.wait 5*60*1000, =>
        @showGuestNotification()
        $.cookie "guestForFirstTime", yes
    else
      @showGuestNotification()

  showGuestNotification: (guestTimeout = 20)->
    return  unless KD.isGuest()
