/**
  * Return optional constraints
  * 
  * @param $key
  * @param $constraint
  * @return bool
  */
 public function isOptionalConstraint($key, $constraint)
 {
     $optional = ['creator' => ['stylesheets', 'mediaFiles']];
     $this->optional = array_merge($optional, $this->optional);
     return parent::isOptionalConstraint($key, $constraint);
 }
 public function isOptionalConstraint($key, $constraint)
 {
     array_push($this->optional['creator'], 'hook');
     array_push($this->optional['creator'], 'icon');
     return parent::isOptionalConstraint($key, $constraint);
 }