Describir: Towards a flexible middleware for context-aware pervasive and wearable systems.