Refactoring and commenting.

Redefinition of pattern hierarchy, addition of the ValueSupplier
interface with the nextValue() function.