Decouple effective command classes from ShellCommand interface that is more the external API of a command