add logger to BaseCommand structure, pull out LetterCommand