Implemented new behavior API for Weapon
Implemented more event callbacks.