AuthenticatedAction to support async

This is a fix for #3603

```setUsername(null)``` was set to quickly while ```delegate.call(..)``` is asynchronous.
We change it to make sure that ```setUsername(null)``` happens after ```delegate.call(..)``` finishes.