Activity Theory as a Framework for CSCW Software Architecture Design.