public function getSubstitutionGroups()
	{
		$usedGroups = array_reduce( $this->elements, function( $carry, $element ) {

			foreach ( $element as $key => $entry )
			{
				$group = $entry['taxonomy_element']['substitutionGroup'];
				if ( ! isset( $carry[ $group ] ) )
					$carry[ $group ] = 1;
			}

			return $carry;
		}, array() );

		return array_keys( $usedGroups );
	}