Force early id generation to models
Make id setter private