Dynamic Generation 

Allowing to inject methods to generate the ids using custom logic (see test/counters.js)
Adding test to validate that the default use has not being changed.
And finally fixing a few bugs regarding the use of ShortId for attributes that are not required.