Fixed NPC components, now they work properly

Create a GenericNPC component to handle most of the setup