/// <summary>
        /// Use the given item.
        /// </summary>
        /// <param name="argument"></param>
        /// <returns></returns>
        public CommandOutput playerInteract(string argument)
        {
            bool       success       = false;
            string     outputMessage = " ";                            // String to update display with.
            string     systemMessage = "Unexpected Error Encountered"; // String to update the system with.
            DataAccess dataAccess    = new DataAccess();

            FindSceneItemResult searchResult = dataAccess.findScene(gameID, currentSceneIdentifier).findItem(argument);

            if (searchResult.Found)
            {
                if (searchResult.SceneItem.Type == SceneComponent.ComponentType.Door)
                {
                    SceneDoor item = (SceneDoor)searchResult.SceneItem;
                    if (item.haveRequiredItem(dataAccess.findPlayerInventory(playerID)))
                    {
                        Scene sceneToChange = dataAccess.findScene(gameID, currentSceneIdentifier);
                        dataAccess.removeSceneComponent(gameID, sceneToChange, item);
                        dataAccess.addSceneComponent(gameID, sceneToChange, item.exit);
                        dataAccess.removePlayerInventoryItem(playerID, new SceneKey(item.requiredItemIdentifier, "Removed Item"));
                        dataAccess.incrementPlayerScore(playerID);
                        success       = true;
                        outputMessage = item.successMessage + " Your score is now " + new DataAccess().getPlayerScore(playerID).ToString();
                        systemMessage = "display update";
                    }
                    else
                    {
                        outputMessage = item.failMessage;
                        systemMessage = "Did not have correct key item for door.";
                    }
                }
                else
                {
                    outputMessage = string.Format("{0} is an item you can pick up.", searchResult.SceneItem.fullName);
                    systemMessage = "Wrong type of item.";
                }
            }
            else
            {
                outputMessage = searchResult.Message;
                systemMessage = searchResult.Message;
            }
            return(new CommandOutput(success, outputMessage, systemMessage));
        }
        /// <summary>
        /// Get the given item.
        /// </summary>
        /// <param name="argument"></param>
        /// <returns></returns>
        public CommandOutput playerGet(string argument)
        {
            bool       success       = false;
            string     outputMessage = "";
            string     systemMessage = "Unexpected Error Encountered";
            DataAccess dataAccess    = new DataAccess();
            Scene      sceneToChange = dataAccess.findScene(gameID, currentSceneIdentifier);

            FindSceneItemResult searchResult = sceneToChange.findItem(argument);

            if (searchResult.Found)
            {
                if (searchResult.SceneItem.Type == SceneComponent.ComponentType.Key)
                {
                    SceneKey item = (SceneKey)searchResult.SceneItem;
                    dataAccess.removeSceneComponent(gameID, sceneToChange, item);
                    dataAccess.addPlayerInventoryItem(playerID, item);

                    success       = true;
                    outputMessage = string.Format("Got {0}.", item.fullName);
                    systemMessage = "display update";
                }
                else
                {
                    outputMessage = string.Format("{0} is an item that you use.", searchResult.SceneItem.fullName);
                    systemMessage = "Tried to pick up item of wrong type.";
                }
            }
            else
            {
                outputMessage = searchResult.Message;
                systemMessage = searchResult.Message;
            }

            return(new CommandOutput(success, outputMessage, systemMessage));
        }