Initial refactoring of existing parser API and contracts into deserializers (issue #15)