Probably should be something like
```
public <T, U extends AssetData<T>> void setAssetFactory(AssetType type, AssetFactory<T, U>)
```

Although really I just want to get rid of AssetType which will likely result in some large changes in this space.