Switches from custom messages to logging
Fixes many best-practices violations