FormValidationError: test: only clone form once + refa
RegistrationFormValidator: mv isSyntacticallyCorect isSyntacticallyCorectEmailAddress
RegistrationPage: test: no need for IIFE
Promise

Interesting: there is a predefined Promise global in JavaScript that
behaves like Q.Promise!!

The current_dir magic in the makefile only works for the last included
makefile... ^_^
Green!

A few things happened.

1. Backed off from <Class>.prototype.initialized trick

Switched to plain old this.action = f. I tried that trick for two
reasons: (1) to take advantage of class definition’s closure so that I
have access to constructor arguments without putting them on this. (2) I
did the `if (initialized) then return` trick to avoid rewriting public
methods. I can’t even imagine what could that lead to.

During thests the `if (initialized) then return` showed some strange
side effects: the public methods were being bound to the closure of the
first instance’s constructor, so I backed off from this idea.

With this.method = f() in constructor each instance will have its own
copy of `method`, but I think that’s OK in this context: I do not plan
to have that many instances for this to become a resource consumption
issue.

2. RegistrationFormValidator refactoring

Thank you JSHint for complaining about too high complexity per function.

3. Eventified RegistrationForm

4. Promisified RegistrationForm.submit()

It feels very natural to think of it in promise terms: resolve and
reject.

5. Replace Q with its wrapper: Promise

6. RegistrationPage test

Deleted `when form is submitted with incorrect information` case since
that is covered in RegistrationForm’s test.

7. Reordered tests: lower-level tests run first
Less files and TODO log messages
RegistrationForm: test: FF hack

Firefox won’t trigger submit event on a form if it’s not in the DOM.