Refactored such that Checkout only knows abouts the available Items and a Calculator; also introduced an Items class to map from string identifiers in object instances.