Extracted PowerDistribution algorithm so inheritance is not required.