private void startComputer() {
    	final Thread computer = new Thread() {
    		public void run() {
    			try {
    	    		// Perform user-defined calculations
    				while (computerRunning) {
    					long startTime = System.currentTimeMillis();
    					compute();
    					lastCalculationDuration = System.currentTimeMillis() - startTime;
    					cumulativeCalculationDuration += lastCalculationDuration;
    					calculations++;
    					// The above runs flat-out, so voluntarily yield processing
    					yield();
    				}
    			} catch (Throwable t) {
    				computerRunning = false;
    				arena.computerFailure(SpriteStatic.this, t);
    			}
    		}
    	};
    	computer.start();
    }