'Parse the yaml file into an OrderedDict so we can preserve order.'

@classmethod
def from_yaml(cls, loader, node):

    fields = cls.construct_mapping(loader, node, deep=True)
    result = cls()
    for (k, v) in fields.items():
        result[k] = v
    return result
