You’re using inheritance and Interfaces already, neat! Put the Timer in the weapon base class, see if this makes sense:
weapon base class
Pseudoscript ofc.