delegating the implementation of the renderer
refactored json decoder to composition
relaxed constness from the model interface
one more invalid data check