@classmethod
def from_string(cls, hash, **context):
    """return parsed instance from hash/configuration string

        :param \\*\\*context:
            context keywords to pass to constructor (if applicable).

        :raises ValueError: if hash is incorrectly formatted

        :returns:
            hash parsed into components,
            for formatting / calculating checksum.
        """
    raise NotImplementedError('%s must implement from_string()' % (cls,))
