not a friend of this outside of constructor functions...(I know it's not problem in this case).

As for most other services, I'd prefer a constructor function and then `return new Constructor()`, if only for consistency reasons.