Extracted ArgumentParserFactory to reduce responsabilities of ArgumentParser.
Meaningful name given to ArgumentParser error list.
Methods facotred out ArgumentParser to ArgumentComparer.
Proper naming to ArgumentComparer members.
Drafting new types to incpsulate parser internal changing state.
First attempt to avoid that kernel rely on mutability
Refactoring -> simplifying -> ArgumentParser turned to an interface (code factored out).
Removed a null check ParseArgumentsImpl.