Feature custom npc

Getting ready for a rewrite