Refactor weapon adding bullets as event (#225)