Add optional UUID support

Closes #72