reworked client to be inline with Catapult
patterns, moved tests into individual classes
created factory methods on each of the model types