Refactored code to use a CartHandler so we are following standard event
handling.
Changed to used new validator calculations