public void PerformQuestAction(IEntity questor, IQuest quest, IJoyAction completedAction) { if (quest.FulfilsRequirements(questor, completedAction) && quest.AdvanceStep()) { this.CompleteQuest(questor, quest); } }