Oh sorry - one other thought. Implicit in what I have already floated is the notion of making products acs_objects. There benefits of this might be:
1) Different product managers could then have admin control over different products and categories of products. This would allow permissions to match organisational product management and sales accountabilities.
2) Categories of product and products themselves could be restricted to specific users and user groups. Perhaps this would be useful for example in a members' or purchasing club where certain products are only available to club members.
3) Built in notification capability through notifications in core. This would make notifying users for any reason (i.e items changing stock status or pre-ordered new products being made available for sale) very straightforward.
4) Better integration with core, better abstraction.
5) Easier to write content provider to site wide search module and would allow us to use sws to replace the ecommerce search.
Regards
Richard