I'm not completely sure... by definition, a setter overrides the value. In that case, you should provide add_efo and remove_efo, so we can avoid this problem. I think it should be similar for PMID...