Use StreamCoordinator insteaof ConsoleAgent and ConsoleReceiver.
Use LineExecutor and OutputFormatter.