Attempt #2 at a service/client split.