CAIO: A cognitive and affective architecture for social robots