Extracting Command interface to ease extensibility

The attached patch eases extensibility a bit by extracting the Redis commands into single objects. Also renamed method to command to stay closer to Redis terminology.
I think it is worth to initialize the variable