The KISS version would be to just drop the smaller private functions that consume most of the extra attributes and perform what they do in __init__ OR just pass the arguments. I'm talking about _create_synth_ch and _get_coreg.