Support for fully custom user class