public function getConfigData() {
		// Lazy load if necessary
		$data = null;
		if(!$this->Config && ($data = $this->Environment()->loadPipelineConfig())) {
			$this->Config = serialize($data);
		}

		// Merge with defaults
		if($this->Config) {
			if(!$this->mergedConfig) {
				$this->mergedConfig = $data ?: unserialize($this->Config);
				if($default = self::config()->default_config) {
					Config::merge_array_low_into_high($this->mergedConfig, $default);
				}
			}
			return $this->mergedConfig;
		}

		// Fail if no data available
		$path = $this->Environment()->getPipelineFilename();
		throw new Exception(sprintf('YAML configuration for pipeline not found at path "%s"', $path));
	}