Inheritance is the key to not having to duplicate any code even among very different Npcs, The higher the events are more generic, the lower the events are more specialized.