Replace print statements with logging
Configure logging
Implement logger monad
Combine maybe and logger monads
Add logger add runner