Generalize assets to any block_type but using

AssetKey and the metadata store
PLAT-204

@cpennington @doctoryes plz review (hopefully I'll fix the 2 typos I just noticed before you get to it)
How would the app access them? I guess the advantage of a dict is it's easier to iterate over, but if the app doesn't need to do that, then setting them as attrs is better. idk what pattern we'll have.