Allow override of what happens first with this.init