Issue #3: Refactoring ILogger