public static function getDefaultForClass($class, array $params = array())
	{
		$reflectionClass = new ReflectionClass($class);

		if (!$reflectionClass->isInstantiable()) {
			throw new NotInstantiableException("Class $class is not instantiable");
		}

		$factory = new static([$reflectionClass, 'newInstance'], "$class::__construct");

		if ($reflectionClass->hasMethod('__construct')) {
			static::addReflectionArguments($factory, $reflectionClass->getMethod('__construct'));
		}

		return $factory->getFactory($params);
	}