Further abstraction, added NPCLoader (warning: will fail if actually used due to lack of methods it references :/)