public static function setDic(DiC $dic = null)
	{
		// if a custom DiC is passed, use that
		if ($dic)
		{
			static::$dic = $dic;
		}

		// else set one up if not done yet
		elseif ( ! static::$dic)
		{
			// get us a Dependency Container instance
			static::$dic = new DiC;

			// register the DiC on classname so it can be auto-resolved
			static::$dic->registerSingleton('Fuel\\Dependency\\Container', function($container)
			{
				static::$dic;
			});
		}

		// register the dic for manual resolving
		static::$dic->registerSingleton('dic', function($container)
		{
			static::$dic;
		});

		return static::$dic;
	}