#26 added static factory methods to DeliveryHistory again. Exception thrown for contradicting PurchaseItems has message which attribute is contradicting
#30 Created BusinessInputException - need to refactor all IllegalArgumentException calls