[minor] Added support for custom id generators.
[minor] cleaned up the destroy method
[doc] Document more things