Abstracted the logger into its own module