Refactor to work with service objects rather than arrays and do a stop start rather than a restart