public function execute()
    {
        // loop through the open client connections
        foreach ($this->client as $key => $client) {
            // if the client connection doesn exist in the current read iteration
            if (!in_array($client['sock'], $this->read)) {
                // Close the socket
                $this->close($client['sock']);
                // flag for garbage collection
                unset($this->client[$key]);
            }

            // get the input from the client
            $input = socket_read($client['sock'], 1024);


            // Zero length string meaning disconnected
            if ($input == null) {
                unset($this->client[$key]);
            }
            $n = trim($input);

            switch (true) {
                // kill switch for telnet
                case $n === 'exit':
                    $this->close($client['sock']);
                    break;

                default:
                    // here is where it get interesting we will need a Handler who responds
                    socket_write($client['sock'], $this->getResponse($input));
                    break;
            }
        }
    }