Fixed #20 by building out Mapper and Validator classes; full coverage