I see your point. I was also thinking about it as I don't really like ```setActivity(null)```, but I thought it was confusing to have both ```resetActivity``` and ```leaveActivity```.

Maybe we can just expand ```setActivity(null)``` inside ```leaveActivity``` to 
```
this._toggleActivityRequestMode(false);
this._activity = null;
```
And throw exception inside ```setActivity``` if activity is null\undefined. Yeah, it's code duplication, but seems not that critical. What do you think?