Simplify IAssetProvider a little bit. Make AssetAPI::DeserializeAssetStorageFromString the main entry point and make it prepare the parameter map for the IAssetProvider. Make creating storage via IAssetProvider private.