public function start() {
		// Ensure there are no other running {@link Pipeline} objects for this {@link DNEnvironment}
		// Requires that $this->EnvironmentID has been set
		$env = $this->Environment();
		if(!($env && $env->exists())) {
			throw new LogicException("This pipeline needs a valid environment to run on.");
		}

		if($env->HasCurrentPipeline()) {
			throw new LogicException("You can only run one pipeline at a time on this environment.");
		}

		$this->write(); // ensure we've written this record first

		// Instantiate steps.
		foreach($this->getConfigSetting('Steps') as $name => $stepConfig) {
			$this->pushPipelineStep($name, $stepConfig);
		}

		$this->Status = 'Running';
		$this->write();

		$this->log('Started logging for this pipeline!');

		return true;
	}