@Override
	public void handle(long currentTime) {
		if (oldTime == 0) {
			// the first call cannot measure delta time correctly
			// ignore this call
			oldTime = currentTime;
			return;
		}

		// calculate delta time
		float deltaTime = (currentTime - oldTime) / 1e9f;
		oldTime = currentTime;

		gc.clearRect(0, 0, gc.getCanvas().getWidth(), gc.getCanvas().getHeight());

		GameLogic.INSTANCE.update(deltaTime);
		GameLogic.INSTANCE.render(gc);
	}