Consistency Control for Synchronous and Asynchronous Collaboration Based on Shared Objects and Activities