https://dirkriehle.com/2016/01/04/the-design-space-for-object-creation/
The Design Space for Object Creation