Observer

maybe ```authenticateUser``` is more appropriate