is there a specific logic behind, saying who can reasign the activity in which situation? It should be possible to create validation actions, checking if the current user is allowed to perform the assignment. But before, we need to know exactly how the system can recognize if the assignment is valid.
PS: Will you be at the PUG in two weeks? 🙂