Refactored and documented

The logger now uses the term crate for writing and formatting, rather than println! with escape sequences.