/**
  * @inheritDoc
  */
 public function buildNarrative(Questionnaire $questionnaire)
 {
     if (MovingRagIsRedSpecification::isSatisfiedBy($questionnaire)) {
         $this->buildRedMovingNarrative($questionnaire);
     } elseif (MovingRagIsAmberSpecification::isSatisfiedBy($questionnaire)) {
         $this->buildAmberMovingNarrative($questionnaire);
     } else {
         $this->buildGreenMovingNarrative($questionnaire);
     }
     return $this->narrative;
 }
 /**
  * @param Questionnaire $questionnaire
  */
 protected function buildMovingBehaviours(Questionnaire $questionnaire)
 {
     if (MovingRagIsRedSpecification::isSatisfiedBy($questionnaire)) {
         $this->buildRedMovingBehaviours($questionnaire);
     } elseif (MovingRagIsAmberSpecification::isSatisfiedBy($questionnaire)) {
         $this->buildAmberMovingBehaviours($questionnaire);
     } else {
         $this->buildGreenMovingBehaviours($questionnaire);
     }
 }