Refactor Printer more