A base state diagram which provides a few methods - this should not be directly instantiated.
All methods return a BaseState derived object which should handle future message processing
Handles the client in logging state - sends periodic status updates
Handles the client idling, waiting for further commands
Handles the client starting up - sends a “logging” query to the logger and waits for the response
Handles the client in logging state - sends periodic status updates