From 226ae29caf397a48bfb8f0f77bb68da412795d96 Mon Sep 17 00:00:00 2001
From: Aditya Raisinghani <aditya.ajeet@gmail.com>
Date: Sun, 16 Mar 2014 13:37:17 +0530
Subject: [PATCH 1/2] Added CocoClass as superclass to Simulator and updated
 destroy method.

---
 app/lib/simulator/Simulator.coffee | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/app/lib/simulator/Simulator.coffee b/app/lib/simulator/Simulator.coffee
index 38463114c..91de6add6 100644
--- a/app/lib/simulator/Simulator.coffee
+++ b/app/lib/simulator/Simulator.coffee
@@ -1,9 +1,10 @@
 SuperModel = require 'models/SuperModel'
+CocoClass = require 'lib/CocoClass'
 LevelLoader = require 'lib/LevelLoader'
 GoalManager = require 'lib/world/GoalManager'
 God = require 'lib/God'
 
-module.exports = class Simulator
+module.exports = class Simulator extends CocoClass
 
   constructor: ->
     _.extend @, Backbone.Events
@@ -14,6 +15,7 @@ module.exports = class Simulator
   destroy: ->
     @off()
     @cleanupSimulation()
+    super()
     # TODO: More teardown?
 
   fetchAndSimulateTask: =>
@@ -49,6 +51,7 @@ module.exports = class Simulator
     @levelLoader.once 'loaded-all', @simulateGame
 
   simulateGame: =>
+    return if @destroyed
     @trigger 'statusUpdate', 'All resources loaded, simulating!', @task.getSessions()
     @assignWorldAndLevelFromLevelLoaderAndDestroyIt()
     @setupGod()

From 17af4cec0c095786c8ed162962cae0f4e84a748e Mon Sep 17 00:00:00 2001
From: Scott Erickson <sderickson@gmail.com>
Date: Sun, 16 Mar 2014 20:36:02 -0700
Subject: [PATCH 2/2] Slight tweak.

---
 app/lib/simulator/Simulator.coffee | 1 +
 1 file changed, 1 insertion(+)

diff --git a/app/lib/simulator/Simulator.coffee b/app/lib/simulator/Simulator.coffee
index 91de6add6..1b264eae2 100644
--- a/app/lib/simulator/Simulator.coffee
+++ b/app/lib/simulator/Simulator.coffee
@@ -19,6 +19,7 @@ module.exports = class Simulator extends CocoClass
     # TODO: More teardown?
 
   fetchAndSimulateTask: =>
+    return if @destroyed
     @trigger 'statusUpdate', 'Fetching simulation data!'
     $.ajax
       url: @taskURL