Expose constructors as protected

Preparing for #8