diff --git a/app/static/js/Forms/CreateContributionForm.js b/app/static/js/forms/create-contribution-form.js
similarity index 74%
rename from app/static/js/Forms/CreateContributionForm.js
rename to app/static/js/forms/create-contribution-form.js
index e7651ab0d1ce2a4762d318d8374d805994d9296d..6800379654bce73da003ce5c30d5068815607caa 100644
--- a/app/static/js/Forms/CreateContributionForm.js
+++ b/app/static/js/forms/create-contribution-form.js
@@ -1,8 +1,8 @@
-class CreateContributionForm extends Form {
+Forms.CreateContributionForm = class CreateContributionForm extends Forms.BaseForm {
   static autoInit() {
     let createContributionFormElements = document.querySelectorAll('.create-contribution-form');
     for (let createContributionFormElement of createContributionFormElements) {
-      new CreateContributionForm(createContributionFormElement);
+      new Forms.CreateContributionForm(createContributionFormElement);
     }
   }
 
@@ -15,4 +15,4 @@ class CreateContributionForm extends Form {
       }
     });
   }
-}
+};
diff --git a/app/static/js/Forms/CreateCorpusFileForm.js b/app/static/js/forms/create-corpus-file-form.js
similarity index 74%
rename from app/static/js/Forms/CreateCorpusFileForm.js
rename to app/static/js/forms/create-corpus-file-form.js
index ae8dba3b1a317720408a09e12366d270cae54420..6cbc8a3a08e8cc63ba742826231731a11724856d 100644
--- a/app/static/js/Forms/CreateCorpusFileForm.js
+++ b/app/static/js/forms/create-corpus-file-form.js
@@ -1,8 +1,8 @@
-class CreateCorpusFileForm extends Form {
+Forms.CreateCorpusFileForm = class CreateCorpusFileForm extends Forms.BaseForm {
   static autoInit() {
     let createCorpusFileFormElements = document.querySelectorAll('.create-corpus-file-form');
     for (let createCorpusFileFormElement of createCorpusFileFormElements) {
-      new CreateCorpusFileForm(createCorpusFileFormElement);
+      new Forms.CreateCorpusFileForm(createCorpusFileFormElement);
     }
   }
 
@@ -15,4 +15,4 @@ class CreateCorpusFileForm extends Form {
       }
     });
   }
-}
+};
diff --git a/app/static/js/Forms/CreateJobForm.js b/app/static/js/forms/create-job-form.js
similarity index 85%
rename from app/static/js/Forms/CreateJobForm.js
rename to app/static/js/forms/create-job-form.js
index 6aa2d1b6eb2165d2306bf75d2206a1975dfa9c57..0ee64e3aff866a46f8379a7bfca599bbe6d39967 100644
--- a/app/static/js/Forms/CreateJobForm.js
+++ b/app/static/js/forms/create-job-form.js
@@ -1,8 +1,8 @@
-class CreateJobForm extends Form {
+Forms.CreateJobForm = class CreateJobForm extends Forms.BaseForm {
   static autoInit() {
     let createJobFormElements = document.querySelectorAll('.create-job-form');
     for (let createJobFormElement of createJobFormElements) {
-      new CreateJobForm(createJobFormElement);
+      new Forms.CreateJobForm(createJobFormElement);
     }
   }
 
@@ -22,4 +22,4 @@ class CreateJobForm extends Form {
       }
     });
   }
-}
+};
diff --git a/app/static/js/Forms/Form.js b/app/static/js/forms/index.js
similarity index 92%
rename from app/static/js/Forms/Form.js
rename to app/static/js/forms/index.js
index c3496e18eb09d807cbb2c99d77c771fce5bdd4f3..b3bd9224304590b2f95460f85aa9e03827fbda59 100644
--- a/app/static/js/Forms/Form.js
+++ b/app/static/js/forms/index.js
@@ -1,9 +1,17 @@
-class Form {
-  static autoInit() {
-    CreateContributionForm.autoInit();
-    CreateCorpusFileForm.autoInit();
-    CreateJobForm.autoInit();
+var Forms = {};
+
+Forms.autoInit = () => {
+  for (let propertyName in Forms) {
+    let property = Forms[propertyName];
+    // Call the autoInit method of all properties that are subclasses of Forms.BaseForm
+    if (property.prototype instanceof Forms.BaseForm) {
+      property.autoInit();
+    }
   }
+};
+
+Forms.BaseForm = class BaseForm {
+  static autoInit() {throw 'Not implemented';}
 
   constructor(formElement) {
     this.formElement = formElement;
@@ -139,4 +147,4 @@ class Form {
       }
     }
   }
-}
+};
diff --git a/app/static/js/resource-displays/corpus-display.js b/app/static/js/resource-displays/corpus-display.js
index 6bfa1676a774bc0ad759c7c48365f5642a817049..4381ec88d2a212374592ccd2d5705ea9bdc10444 100644
--- a/app/static/js/resource-displays/corpus-display.js
+++ b/app/static/js/resource-displays/corpus-display.js
@@ -102,4 +102,4 @@ ResourceDisplays.CorpusDisplay = class CorpusDisplay extends ResourceDisplays.Ba
       new Date(creationDate).toLocaleString("en-US")
     );
   }
-}
+};
diff --git a/app/static/js/resource-displays/job-display.js b/app/static/js/resource-displays/job-display.js
index 2d107716f78c0906ef4cbfdd58fd664497aa0848..d52f0b0eba0bea2d38132e6b8a08954f4a1a6c9d 100644
--- a/app/static/js/resource-displays/job-display.js
+++ b/app/static/js/resource-displays/job-display.js
@@ -123,4 +123,4 @@ ResourceDisplays.JobDisplay = class JobDisplay extends ResourceDisplays.BaseDisp
   setServiceVersion(serviceVersion) {
     this.setElements(this.displayElement.querySelectorAll('.job-service-version'), serviceVersion);
   }
-}
+};
diff --git a/app/templates/_scripts.html.j2 b/app/templates/_scripts.html.j2
index b2ca56a4ed09c97760237f77d1d72bed9d861e5a..de457973f64465215b8162294a041d5bfc3487ee 100644
--- a/app/templates/_scripts.html.j2
+++ b/app/templates/_scripts.html.j2
@@ -35,10 +35,10 @@
 {%- assets
   filters='rjsmin',
   output='gen/Forms.%(version)s.js',
-  'js/Forms/Form.js',
-  'js/Forms/CreateCorpusFileForm.js',
-  'js/Forms/CreateJobForm.js',
-  'js/Forms/CreateContributionForm.js'
+  'js/forms/index.js',
+  'js/forms/create-contribution-form.js',
+  'js/forms/create-corpus-file-form.js',
+  'js/forms/create-job-form.js'
 %}
 <script src="{{ ASSET_URL }}"></script>
 {%- endassets %}
@@ -141,7 +141,7 @@
     {alignment: 'right', constrainWidth: false, coverTrigger: false}
   );
   ResourceList.autoInit();
-  Form.autoInit();
+  Forms.autoInit();
 
   // Display flashed messages
   for (let [category, message] of {{ get_flashed_messages(with_categories=True)|tojson }}) {