module returns factory, so it may be used in multiple express apps without conflicts