@classmethod
def from_dict(cls, dictionary):
    """ An abstract method each state has to implement.

        :param dictionary: the dictionary of parameters a state can be created from
        :raises exceptions.NotImplementedError: in any case
        """
    raise NotImplementedError()
