It is a mess.
- Functionality may be duplicated elsewhere already (means a refactor is necessary)
- Participant's sentiment should be moved into Participant itself
- getting affinities to non-accepted Proposals may not be working as intended
etc. nothing short of a complete refactor here will do