Domain Frameworks for Collaborative Systems: Lessons Learned from Engineering Maintenance Management