Separando y abstrayendo Agentes