Ability to be able to define custom conditional approvers based on parameter derived from user choice.
This can be achieved for example by having a system User list ApproversList similar to AssignedUsers which can hold the required approvers. These approvers can be chosen based on conditional parameter chosen by user e.g. Design or construction and then a script can assign the relevant Designer or Construction manager.
Further enhancement if each approver can be set as optional or mandatory within the user list.