I want to build a managed packaged and ultimately deploy it on the AppExchange. My app is targeted for the B2C model (Business to Consumer).
Since in salesforce public contacts are required to be tied to an account, I'm wanting to put a trigger on both the standard Account/Contact objects so that way when a new contact is created I also create a corresponding account and vice-versa (similar to the way the Non-Profit Starter Package) works. I'm concerned about doing this though as these are standard objects and it seems it could cause some conflicting behavior for customers if I've added a trigger like this on the key standard objects like Accounts and Contacts.
When developing a managed package should I consider creating all custom objects? I hate to recreate the standard account/contacts, but it seems like it may be my only option if I want to have full flexibility to do what I want and also not affect the way a customer is currently using salesforce Accounts and Contacts.
Does anyone have any thoughts on the impact of building functionality on top of standard objects when creating an appexchange app? It seems like tinkering with the standard objects might be a bad idea?