Current issues:
- Asset definitions have a lot of boilerplate code and contain loading logic
- Some classes should not be derived from Asset since they can be used detached from the Asset system
This is already being worked on, see branch worktree/asset.