[WIP] Add unique id base methods

/to @bajtos 

I started on implementing new unique ID support and this seems to work out fairly well. The issue I am running into is that IDs are not so easily hookable. Could you look into hooking IDs? I tried a `beforeSave` hook, but that doesn't provide any reference to the constructor.