Refactor NPCs so that NPCs are prototype-based objects