comments
pull getHtmlsafeId implementation down to JenkinsMonitorModel
add / better documentation
move data access code to MonitorModel, simplify code, add tests.

MonitorModel instances are responsible to abstract from the JSON data returned from the backend and expose that data to a MonitorViewModel.
MonitorViewModel instances are responsible to expose data to a view and transform that data if necessary.