Make all Builder classes have the same behavior.

Construct with a static create() method on the parent class.  Builders should only be constructed by create() so add private constructors to them.