Refactor changing weapons