I know Code Climate says that this method is wrong. But It's pretty explicit on it's behavior. 
I've been watching it for a while but it's pretty clear and the player state machine it's pretty tough to debug as it is.