Hi Sebastian,
Actually, I don't want to see modifying ExternalActivityBehaviour at this time. Especially, the timeout() method is only used by TaskActivity. If we want to implement other requirement, like rollback, withdraw, sub task complete, do we must create method for each of them? I think we should make a good plan before change the API.
I make a demo with your TaskTimeoutTest.java and TaskTimeout.java. I use event-listener to delete the out of date Task and update the history task information. The project is in the attach. Please have a look at it. Thank you very much.