putting it in a class and then joining it to the player is a much better idea in my opinion. Also I prefer using something along the lines of this instead of findWeapon();.
PHP Code:
(@"Systems/mainSystem").addBuff();
It's a personal preference however I'm not sure if it's any more or less efficient than findWeapon().