This tries to give the same treatment given to muons and photons to all the other configurations, so that it should be possible to configure all the blocks just through the options and instantiate them through the common factory.
There is probably some cleanup that could be done here in the future,
regarding what some of the configuration blocks should be called
exactly, what the options exposed should be etc. The main goal of
this update is that I can now (more or less awkwardly) set everything
I can via options that was previously limited to named parameters to
make...Config() calls, and to replace the individual
make...Config() calls with the generic
I also added customizable behavior for setting a value of
None on an
option. There are several possible behaviors that could make sense or that the user may expect, so I didn't want to fix a specific one now, but I needed to be able to rely on one when creating the default blocks.