Updated core to generalise EntityInvolvement as a general purpose ternary relationship with roles played by the entities.