public final void load() {
		if(!this.loaded && this.initialized){
			this.onLoad();
			
			this.addComponents();
			
			if(!this.components.isEmpty()){
				for(Iterator<Map.Entry<String, GameComponent>> iter = this.components.entrySet().iterator(); iter.hasNext();){
					Map.Entry<String, GameComponent> entry = iter.next();
					GameComponent component = entry.getValue();
					
					if(component != null){
						component.startup();
					}
				}
			}
			
			this.loaded = true;
		}
	}