allow logger to be injected