Refactor web client state into the communicator component and rename it.