added Client case class to hold the state of each client entry in the datastore