static function ModuleClass($type, ModuleLocation $location)
    {
        $parts = \explode(self::$bundleModuleSeparator, $type);
        if (count($parts) != 2)
        {
            throw new \InvalidArgumentException('Module type string must be in the format <bundle>-<module>');
        }
        $bundle = $parts[0];
        $module = $parts[1];
        $folderLocation = $location->Value();
        return self::BundleNamespace($bundle) . "\\Modules\\$folderLocation\\$module";
    }