'Get the names of all writable properties that reflect
metadata tags (i.e., those that are instances of
:class:`MediaField`).'

@classmethod
def fields(cls):

    for (property, descriptor) in cls.__dict__.items():
        if isinstance(descriptor, MediaField):
            if isinstance(property, bytes):
                (yield property.decode('utf8', 'ignore'))
            else:
                (yield property)
