Tapestry lacks good support for quite commonly needed log out action.
As described here :
there are currently 2 ways to achieve logging out - utilizing RestartService, or hacking inside Listener methods. Neither is sufficient - shortcomings of RestartService and ServiceLink are described, and listener method way is a hack utilizing some pieces of code that should normally be hidden from user. Let alone mentioning that later case doesn't work always - application can get into some strange states raising
java.lang.IllegalStateException: Session already invalidated
It should be great if there was something easily accessible and intuitive as IEngine.restart() to be used for this purpose.