making agents concrete and adding converters among dof generic events