the logger here should either be static, or passed in the constructor (better, since it will have much more info)