Significant refactoring - started to make characters their own classes/componenets and generic-ise them