Changed IDataSource interface. Instead of command string, we are passing command object to the pullData method.
Added CliHandler to handle command line patterns.