Generalized Distributed classes

...so that they'll work without migration again