refactored budget item distributor to be a stateful class in preparation for supporting editing budget items