Pull out auxiliary functions out of constructor
( + minor inline docs )