public static GameEngine instance(EngineType type, boolean force) throws GameEngineException
	{
		if(engine==null)
		{
			if(type!=null)
			{
				engine=new GameEngine(type);
				type.setEngine(engine);
				return(engine);
			}
			else
			{
				throw new GameEngineException("Can't create an engine without a type");
			}
		}
		else
		{
			if(force)
			{
				if(type!=null)
				{
					engine.stop();
					while(engine.type.isAlive())
					{
						try
						{
							Thread.sleep(1);
						}
						catch(InterruptedException e)
						{
							//who cares?!
						}
					};
					//engine=new GameEngine(type);
					//type.setEngine(engine);
					engine.type=type;
					type.setEngine(engine);
					return(engine);
				}
				else
				{
					throw new GameEngineException("Can't create an engine without a type");
				}
			}
			else
			{
				throw new GameEngineException("Can't create an engine if one exists");
			}
		}
	}