protected function propagateMutation($prop, $propagate)
	{
		$propagate = !is_bool($propagate) ? true : $propagate;

		if ($propagate && isset($this->mutates)) {

			foreach ($this->mutates as $obj) {

				if (in_array($prop, $obj->mutables)) {
					call_user_func(array($obj, $prop), $this->{$prop});
				}

			}

		}

		return $this;
	}