Refactored source structure of vending kata