Consider with_result? method of task model.
Defines text as an optional field.
Allow deny from accepted state.
Moves before and after transition logic to model.
Makes candidatures attributes accessible.
Only create project user if resource is an user.
Makes partials product specific.
Adds translations.