Runtime-calculated default values for structs

Don’t know but don’t think so. This thread already took more time; so does reviewing the changes, testing etc.

Using a factory seems to be a pretty nice option; making the data structure an implementation detail.