@classmethod
def visit(cls, specification, callback):
    """Invokes ``callback`` directly on ``specification``, which should be a field
        representation, as well as on all field representations nested therein.

        :param dict specification: A field representation, possibly containing nested field
            representations, such as that returned by :func:`.describe()`.
        """
    implementation = cls.types[specification['fieldtype']]
    return implementation._visit_field(specification, callback)
