Remove monkey patching
Restructure code - prepare for constructor
explicit create function to hide monkey patching
name generator extracted

Separate name generator is created.