make consistent `Mutable{List,Set,Map}.as{Immutable,Unmodifiable,UnmodifiableCopy}()` methods, and more forgiving if null is present, deprecatign the inconsistent and break-prone `toImmutable()`
write comprehensive tests for ServiceStateLogic, and tidy some of the semantics and usages elsewhere
wip docs for service state