I don't really like the idea of distributor being set up as a side-effect of the function call.  
I wonder if createDistributor should be a member of the activity class, from the parameters that are being passed to it.