If I understand this model correctly -- you represent all of the data backends as actual models to associate an embed with.  Is there a reason for that?  I considered going that route with armstrong.apps.embedded_video, but backed off of it in favor of simply having configured backends that could detect what they were at the field level and react appropriately (see [armstrong.core.arm_content.fields.video.EmbeddedVideoField](https://github.com/armstrong/armstrong.core.arm_content/blob/master/armstrong/core/arm_content/fields/video.py) for an example).

I guess I need more docs/example usage/fleshed out backends to fully understand how this is all fitting together.