Refactor classes to fetch singleton references rather than store them at construction
Refactored assets to be capable of updating themselves