Updated implementation of weapon manager