#1 - Remove unused references.
#2 - Separate purchase into method
#2 - Move additional logic into player extensions
#2 - Random generated maps are not guaranteed not to match.