I can create a custom field in any module. Fine. But if I want to create a custom field representing a role contact has on a project - that's not possible. I can't place the custom field on a contact because the value is different for every project.
We need to place the custom field on a relation.