Re-structure the Distributor class