The ability to synchronously and asynchronously edit work artefacts has become very important in many editing tools. However, most tools usually only provide one kind of collaborative editing "level", or provide incompatible levels of collaborative editing. We describe our recent work in adding flexible, user-configurable collaborative editing facilities to component-based design environments, and focuses on the human interaction issues in such systems. We also briefly describe the engineering of such tools using a component-based approach, which allows user-configurable collaborative editing capabilities to be added to component-based tools without modifying the tool or collaboration component implementations.