public NPC createNPC(final String name, final Race race, final Integer[] stats, final Room location) {
		NPC npc = new NPC(name);

		npc.setRace(race);

		int index = 0;

		final Ability[] ab = rules.getAbilities();

		for (final Integer i : stats) {
			if (index < ab.length) {
				npc.setAbility(ab[index], i);
				index++;
			}
		}

		npc.setLocation(location.getDBRef());

		initCreatedNPC(npc);

		final Room room = getRoom( npc.getLocation() );
		if (room != null) room.addListener(npc);

		return npc;
	}