 
   loadDashboard: (cx) =>
     $.getJSON '/api/v1/projects', (data) =>
-      @projects.removeAll()
-      for d in data
-        @projects.push(new Project d)
+      start_time = Date.now()
+      @projects((new Project d for d in data))
+      window.time_taken_projects = Date.now() - start_time
       if @first_login
         @first_login = false
         setTimeout(() => @loadDashboard cx, 3000)
 
 
     $.getJSON '/api/v1/recent-builds', (data) =>
-      @recent_builds.removeAll()
-      for d in data
-        @recent_builds.push(new Build d)
+      start_time = Date.now()
+      @recent_builds((new Build d for d in data))
+      window.time_taken_recent_builds = Date.now() - start_time
 
     display "dashboard", {}
 

        @status

    @committer_mailto = @komp =>
      if @committer_email()
        "mailto:#{@committer_email()}"

    @why_in_words = @komp =>
      switch @why()

  constructor: (json) ->
    # make the actionlogs observable
    json.action_logs = (new ActionLog(j) for j in json.action_logs) if json.action_logs
    super json, {}, ["build_num", "status", "committer_name", "committer_email"]


    @url = @komp =>
