Refactored logging, now every class subclasses from an abstract logger class