Constructor pattern.