Move the ApplicationContextHolder into common so that all of the Broadleaf components can utilize it
Add a new EntityListener to Customer that publishes a Spring event when a Customer has been persisted
Refactor a couple of component scans, add a new standard profile-web applicationContext
Refactor the CustomerStateRequestProcessor to use the session-based customer until that Customer has been persisted. Once persisted, the Customer is removed from session and on subsequent updates the CartState is also refreshed.