Its difficult, we would have to have Commands which extend TableCommand, but then we have similar issues for GitHubCommand, or TemplateCommand as we can only extend one class at a time. The only thing to do would be to make `BaseCommand` a *god* class which implements all the interfaces, and that would be an anti-pattern.

This is the disadvantage of the `Interface` approach, but it makes the dev more aware of what is going on, which isn't a bad thing imo.