I am building a large, complex application for a public website. It will feature a calendar of events that are pulled from hundreds, maybe thousands of data sources, and will allow the users to build their own personalized calendars of events. Many ecommerce hooks will have to be built in.