diff --git a/cool_examples/src/Controllers/FormControllers/FormCurrentTime.php b/cool_examples/src/Controllers/FormControllers/FormCurrentTime.php
index f534dee..1a25e7b 100644
--- a/cool_examples/src/Controllers/FormControllers/FormCurrentTime.php
+++ b/cool_examples/src/Controllers/FormControllers/FormCurrentTime.php
@@ -8,8 +8,10 @@ class FormCurrentTime extends \Drupal\cool\BaseForm {
     return 'cool_examples_form_current_time';
   }
 
-  static public function build() {
-    $form = parent::build();
+  static public function build($form, &$form_state) {
+    $form = parent::build($form, $form_state);
+    // The custom args sent on getForm can be retrieved this way.
+    // $get_first_custom_arg = $form_state['build_info']['args'][0];
     $form['date_format'] = array(
       '#type' => 'textfield',
       '#default_value' => 'd/m/Y',
diff --git a/cool_examples/src/Controllers/PageControllers/CurrentTimePage.php b/cool_examples/src/Controllers/PageControllers/CurrentTimePage.php
index 675c21c..a76eacb 100644
--- a/cool_examples/src/Controllers/PageControllers/CurrentTimePage.php
+++ b/cool_examples/src/Controllers/PageControllers/CurrentTimePage.php
@@ -25,7 +25,7 @@ class CurrentTimePage implements \Drupal\cool\Controllers\PageController {
   }
 
   public static function pageCallback() {
-    return \Drupal\cool_examples\Controllers\FormControllers\FormCurrentTime::getForm();
+    return \Drupal\cool_examples\Controllers\FormControllers\FormCurrentTime::getForm('custom_arg_example');
   }
 
 }
diff --git a/src/BaseForm.php b/src/BaseForm.php
index d26f714..7ce42e3 100644
--- a/src/BaseForm.php
+++ b/src/BaseForm.php
@@ -9,12 +9,13 @@ abstract class BaseForm implements Controllers\FormController {
   }
 
   static public function getForm() {
+    $args = func_get_args();
     $class_name = get_called_class();
-    return drupal_get_form($class_name::getId());
+    array_unshift($args, $class_name::getId());
+    return call_user_func_array('drupal_get_form', $args);
   }
 
-  static public function build() {
-    $form = array();
+  static public function build($form, &$form_state) {
     $form['cool_class_name'] = array(
       '#type' => 'hidden',
       '#value' => get_called_class()
diff --git a/src/Controllers/FormController.php b/src/Controllers/FormController.php
index 5ef49b4..49d681b 100644
--- a/src/Controllers/FormController.php
+++ b/src/Controllers/FormController.php
@@ -5,10 +5,10 @@ namespace Drupal\cool\Controllers;
 interface FormController {
 
   static public function getId();
-  
+
   static public function getForm();
 
-  static public function build();
+  static public function build($form, &$form_state);
 
   static public function afterBuild($form, &$form_state);
 
