private void HandleServerReceived(object sender, DataPacketEventArgs e)
        {
            // Add the input to working memory
            string           senderName = e.DataPacket.SenderName;
            StringMemoryItem inputItem  = null;

            if (senderName == AgentConstants.LISTENER_PROCESS_NAME)
            {
                inputItem = new StringMemoryItem();
                inputItem.TagList.Add(listenerInputTag);
                inputItem.SetContent(e.DataPacket.Message);
                workingMemory.AddItem(inputItem);
                timeOfLastListenerInput = inputItem.InsertionTime;
                if (!busy)
                {
                    HandleUserInput(inputItem);
                }
            }
            else if (senderName == AgentConstants.VISION_PROCESS_NAME)
            {
                inputItem = new StringMemoryItem();
                inputItem.TagList.Add(visionInputTag);
                inputItem.SetContent(e.DataPacket.Message);
                workingMemory.AddItem(inputItem);
                timeOfLastVisionInput = inputItem.InsertionTime;
                if (!busy)
                {
                    HandleUserInput(inputItem);
                }
            }
            else if (senderName == AgentConstants.INTERNET_PROCESS_NAME)
            {
                ProcessInternetInput(e.DataPacket.Message);
            }
        }