Add function registry for autogenerated columns

In the process some more improvements or small bug fixes were implemented.
This commit changes the way things are called, the code is not back-wards
compatible.
rename some modules