Added additional definition builders
Refactored PublicLock
Removed lock disposal from IdentifierLock, caused undefined behavior
Updated documentation