Taking eLearning to the Cloud - CALC A Framework for Collaborative Adaptive Learning in the Cloud (CALC)