Usage of interfaces for command pattern