refactors code to remove any remaining DRY violations, and also refactors GamePlayscript