Added an 'isRoot' boolean property

This is implemented as dynamic getter since the user ID may change during the
live of the process.

Fixes #3
Merge pull request #4 from passy/custom-callback

Add a custom callback + isRoot property