A flexible architecture for ambient intelligence systems supporting adaptive multimodal interaction with users