rely on logger being passed in to component factory