The PyUtilib Component Architecture