| ⇢ | B | ShowProductCatalogAction added | |
| ⇢ | A | AddCouponAction added | |
| ⇢ | A | AddCoupon added | |
| ⇢ | A | AddCouponHandler added | |
| ⇢ | A | ShowProductDetailsAction added | |
| ⇢ | A | DetailedProductViewFactory added | |
| B | ↛ | ProductController removed |
| ⇢ | B | ShowProductCatalogAction::__invoke() added | |
| ⇢ | B | ShowProductDetailsAction::__invoke() added | |
| ⇢ | B | DetailedProductViewFactory::createWithVariants() added | |
| ⇢ | A | AddCouponHandler::handle() added | |
| ⇢ | A | ShowProductCatalogAction::__construct() added | |
| ⇢ | A | ShowProductDetailsAction::__construct() added | |
| ⇢ | A | DetailedProductViewFactory::create() added | |
| ⇢ | A | DetailedProductViewFactory::createAssociations() added | |
| ⇢ | A | AddCouponAction::__construct() added | |
| ⇢ | A | AddCoupon::__construct() added | |
| ⋮ | view more | ||
| C | ↛ | ProductController::showCatalogAction() removed | |
| B | ↛ | ProductController::showDetailsAction() removed | |
| B | ↛ | ProductViewFactory::createWithVariants() removed | |
| A | ↛ | ImageViewFactory::__construct() removed | |