The static constructor might seem annoying at first. It is. I tried to avoid it but it was necessary to assure that users did in fact call the doInit() method which sends the init symbol to the concept.
It also does a few more things:
It sets the Builder, in many cases creating a default one if it is needed.
It sets the line of code and file name it was called in if you pass __LINE__ and __FILE__ to it.