rewrite Room::speakCommand with function callbacks instead of long if/else statements