found bug with using double for monetary values
fixed precision error
added feature to not dispense product when not enough credit
extracted Inventory from VendingMachine
added feature to track money
added feature to not sell items when inventory is empty
replaced Product pojo with ProductType enum
renamed ProductType to Product
refactor: replaced list with map