Refactor gun class and battle list class