Added dirty field support to the service model from the ECS

There are no user facing changes so as long as the tests pass...
Are these changes just to make sure complex objects are one of the data types tested for config values?