@jezdez: Is this an acceptable compromise in term of backward compatibility? Conceptually `DeclarativeFieldsMetaclass` is quite tricky and I'd like to keep it focused, having the media attribute (which is not a Declarative Field per se) handling in the middle doesn't help to make it any clearer. You make the call, I'll update accordingly.