use a python package, add combiners

i prefer using functions/constructors to plain dictionaries for interfaces as that gains me checking for typos and spurious parameters