Module pattern with constructor.