Revisited the model and utils

Have a now a full set of unit tests covering the utils and model
objects. The reader is not a lot more DRY compliant.