I'm absolutely agree. I mainly want to know you opinion in that. If I understand correctly interface will be used only for real interfaces like "rest API" and cli and rest of class different will be solved by methods and in worst case by setting some hidden bool variable.