public Option(string description, ExplorationCriteria explorationCriteria)
        {
            this.description = description;

            ed = new ExplorationDefinition(description, new List <ExplorationCriteria> {
                explorationCriteria
            });
        }
        //TODO: Merge this with Exploration definition
        public Option(string description, string attribute, int passingScore, Reward passReward, Reward failReward, List <string> specialRequirements)
        {
            this.description = description;
            //            this.attribute = attribute;
            //            this.passingScore = passingScore;
            //            this.reward = reward;
            this.specialRequirements = specialRequirements;

            ed = new BooleanExplorationDefinition(description, attribute, passingScore, passReward, failReward);
        }
        public Option(string description, ExplorationDefinition expd)
        {
            this.description = description;

            ed = expd;
        }
        public Option(string description, List <ExplorationCriteria> explorationCriteria)
        {
            this.description = description;

            ed = new ExplorationDefinition(description, explorationCriteria);
        }
        //TODO: Merge this with Exploration definition
        public Option(string description, string attribute, int passingScore, Reward passReward, Reward failReward)
        {
            this.description = description;

            ed = new BooleanExplorationDefinition(description, attribute, passingScore, passReward, failReward);
        }