public void Start()
        {
            var repository = _resolver.Resolve <IProductRepository>();

            _outChecker = new OutChecker(repository);
            _outChecker.Start();
        }
        public void Start(Action <decimal, decimal> limitExceededAction)
        {
            var repository = _resolver.Resolve <IProductRepository>();

            _outChecker = new OutChecker(repository);

            CheckoutLimitExceededDelegate checkoutLimitExceeded = (limit, currentPrice) => {
                limitExceededAction(limit.Limit, currentPrice);
            };

            _outChecker.CheckoutLimitExceeded += checkoutLimitExceeded;
            _outChecker.Start();
        }