Add Operation Command Pattern

Remove enum. Add a command pattern for the different available
operations.