···11+main: Introduce `comp_target_factory` this struct allows use to remove long and
22+clumbersome switch statements for each type. Instead the code is generic and
33+tweaks for specific target types can be reused for others more easily with this
44+data driven design of the code.