public function submit() {
        if(!$this->confirmed) {
            throw new Exception("Form: Please call 'confirm' before calling 'submit'.");
        }

        $this->submitted = $this->fireEvent("Form\onSubmit", [ $this->getValue(), $this ], TRUE, FALSE);

        if($this->submitted) {
            $this->fireEvent("Form\onCleanup", [ $this ]);
        }

        return $this->submitted;
    }