This is too fat. The constructor itself should just be an attribute setter. The actual work should be done by a "maker function", like make_discretization_collection. This is a long-term thing that'll hopefully make it easier to move towards moving geometry.
x-ref inducer/meshmode#123