Refactoring of the module. The validator still needs improvement and specialisation if applied to node-forward/discussions#15.