public void Publish(Events.IEvent eventData)
 {
     if (eventData is PaymentSucceededEvent)
     {
         paymentSucceededEventHandler.Handle((PaymentSucceededEvent)eventData);
     }
     else if (eventData is PaymentFailedEvent)
     {
         paymentFailedEventHandler.Handle((PaymentFailedEvent)eventData);
     }
     else if (eventData is PaymentBeginEvent)
     {
         paymentBeginEventHandler.Handle((PaymentBeginEvent)eventData);
     }
 }