Good morning. 

The truth is none of us know what is going to happen in the future, so any discussion about the future is nothing more than an assumption. 

However if we choose to learn from the past which is absolute, we stand a better chance of improving our assumption. Correct me if I'm wrong, but as I recall we didn't used to use JSession::checkToken().

Forgive me for not recalling the exact class we used to use, but I remember the change because I had to go through my extension and change all the references.(which sucked)

@Bakual 

> Static functions aren't evil by itself. There are perfectly fine useages of those.

We are going to have to agree to disagree on this one. 

> As for the other wrappers (I think you mean the validateSession and refreshToken methods), I wouldn't do that neither. IMHO it just complicates the code.

For someone who has made it over the JLearning curve these might seem unnecessary, but when I code I like to assume the next person reading my code doesn't know any PHP. Which forces me to be very expressive. 
 
Tell me which of these express the intention which is "To refresh the session token" 
```
$session = JFactory::getSession();
$session->getToken(true);
```

or

```
$this->refreshToken();
```

Again which expresses the true intention which is "To make sure the current session is a valid"

```
JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN'));

```
or

```
$this->validateSession();
```