Description
AbstractCommandParser subclasses does parse the "data" when it get called. It does this even if the command is not valid for the state, this should get improved. There is no need todo the parsing if we will not execute it later.
Better to fail fast here..