The pattern I was adopting is that yaml are alternatives not replacements: thus, you can instantiate the naked whatever with reasonable defaults or the prefilled in one via a yaml. 'Advanced' components kind of complicate this. We could have a naked annotation (which makes sense to just have "<annotatable></annotatable>" as the default data) and then a filled in example using the verbose payload from above, but studio will show it as 2 possibly unrelated options unless we're careful about naming. It's a good question for @markchang