Javadoc.
Using the Generator interface rather than implementations.
Added a color modifier function rather than a control boolean.
Variable declaration using the interface rather than the implementation.