Builder and registering generators for custom types

This should do the job.