diff --git a/app/code/Magento/Indexer/Console/AbstractIndexerCommand.php b/app/code/Magento/Indexer/Console/Command/AbstractIndexerCommand.php
similarity index 85%
rename from app/code/Magento/Indexer/Console/AbstractIndexerCommand.php
rename to app/code/Magento/Indexer/Console/Command/AbstractIndexerCommand.php
index d36347732849080381940ec84a44495ac3d65c2e..3ae1291f7dcaef90cdb2791c2cb5a198da1c08d1 100644
--- a/app/code/Magento/Indexer/Console/AbstractIndexerCommand.php
+++ b/app/code/Magento/Indexer/Console/Command/AbstractIndexerCommand.php
@@ -3,7 +3,7 @@
  * Copyright © 2015 Magento. All rights reserved.
  * See COPYING.txt for license details.
  */
-namespace Magento\Indexer\Console;
+namespace Magento\Indexer\Console\Command;
 
 use Symfony\Component\Console\Input\InputInterface;
 use Symfony\Component\Console\Output\OutputInterface;
@@ -64,27 +64,27 @@ class AbstractIndexerCommand extends Command
      * @param OutputInterface $output
      * @return IndexerInterface[]
      */
-    public function getIndexers(InputInterface $input, OutputInterface $output)
+    protected function getIndexers(InputInterface $input, OutputInterface $output)
     {
-        $inputArguments = $input->getArgument(AbstractIndexerCommand::INPUT_KEY_INDEXERS);
+        $inputArguments = $input->getArgument(self::INPUT_KEY_INDEXERS);
         if (isset($inputArguments) && sizeof($inputArguments)>0) {
             $indexes = implode(',', $inputArguments);
         } else {
-            $indexes = AbstractIndexerCommand::INPUT_KEY_ALL;
+            $indexes = self::INPUT_KEY_ALL;
         }
         $indexers = $this->parseIndexerString($indexes, $output);
         return $indexers;
     }
 
     /**
-     * Get list of arguments for the command
+     * Get list of options and arguments for the command
      *
-     * @return InputOption[]
+     * @return mixed
      */
-    public function getOptionsList()
+    public function getInputList()
     {
         return [
-            new InputOption(self::INPUT_KEY_ALL, 'a', InputOption::VALUE_NONE, 'Displays status of all Indexes'),
+            new InputOption(self::INPUT_KEY_ALL, 'a', InputOption::VALUE_NONE, 'All Indexes'),
             new InputArgument(
                 self::INPUT_KEY_INDEXERS,
                 InputArgument::OPTIONAL | InputArgument::IS_ARRAY,
@@ -100,10 +100,10 @@ class AbstractIndexerCommand extends Command
      * @param OutputInterface $output
      * @return IndexerInterface[]
      */
-    public function parseIndexerString($string, OutputInterface $output)
+    protected function parseIndexerString($string, OutputInterface $output)
     {
         $indexers = [];
-        if ($string === AbstractIndexerCommand::INPUT_KEY_ALL) {
+        if ($string === self::INPUT_KEY_ALL) {
             /** @var Indexer[] $indexers */
             $indexers = $this->collectionFactory->create()->getItems();
         } elseif (!empty($string)) {
diff --git a/app/code/Magento/Indexer/Console/IndexerInfoCommand.php b/app/code/Magento/Indexer/Console/Command/IndexerInfoCommand.php
similarity index 83%
rename from app/code/Magento/Indexer/Console/IndexerInfoCommand.php
rename to app/code/Magento/Indexer/Console/Command/IndexerInfoCommand.php
index 3bc258836f51b9a153e74937fe3d572a2c84d022..9176d4901c0b501b50a17e963a4b8dadc2043a15 100644
--- a/app/code/Magento/Indexer/Console/IndexerInfoCommand.php
+++ b/app/code/Magento/Indexer/Console/Command/IndexerInfoCommand.php
@@ -3,7 +3,7 @@
  * Copyright © 2015 Magento. All rights reserved.
  * See COPYING.txt for license details.
  */
-namespace Magento\Indexer\Console;
+namespace Magento\Indexer\Console\Command;
 
 use Symfony\Component\Console\Input\InputInterface;
 use Symfony\Component\Console\Output\OutputInterface;
@@ -19,10 +19,7 @@ class IndexerInfoCommand extends AbstractIndexerCommand
      */
     protected function configure()
     {
-        $this->setName('indexer:info')
-            ->setDescription(
-                'Shows allowed Indexers'
-            );
+        $this->setName('indexer:info')->setDescription('Shows allowed Indexers');
     }
 
     /**
@@ -41,7 +38,7 @@ class IndexerInfoCommand extends AbstractIndexerCommand
      *
      * @return InputOption[]
      */
-    public function getOptionsList()
+    public function getInputList()
     {
         return [];
     }
diff --git a/app/code/Magento/Indexer/Console/IndexerReindexCommand.php b/app/code/Magento/Indexer/Console/Command/IndexerReindexCommand.php
similarity index 93%
rename from app/code/Magento/Indexer/Console/IndexerReindexCommand.php
rename to app/code/Magento/Indexer/Console/Command/IndexerReindexCommand.php
index d109d2b4f8491720852bcabbd6b9f2bca53aec10..01f8206d4b5bb40105f0e90de8222ab2dc9d87de 100644
--- a/app/code/Magento/Indexer/Console/IndexerReindexCommand.php
+++ b/app/code/Magento/Indexer/Console/Command/IndexerReindexCommand.php
@@ -3,7 +3,7 @@
  * Copyright © 2015 Magento. All rights reserved.
  * See COPYING.txt for license details.
  */
-namespace Magento\Indexer\Console;
+namespace Magento\Indexer\Console\Command;
 
 use Symfony\Component\Console\Input\InputInterface;
 use Symfony\Component\Console\Output\OutputInterface;
@@ -21,7 +21,7 @@ class IndexerReindexCommand extends AbstractIndexerCommand
         $this->setName('indexer:reindex')
             ->setDescription(
                 'Reindexes Data'
-            )->setDefinition($this->getOptionsList());
+            )->setDefinition($this->getInputList());
         parent::configure();
     }
 
diff --git a/app/code/Magento/Indexer/Console/IndexerSetModeCommand.php b/app/code/Magento/Indexer/Console/Command/IndexerSetModeCommand.php
similarity index 94%
rename from app/code/Magento/Indexer/Console/IndexerSetModeCommand.php
rename to app/code/Magento/Indexer/Console/Command/IndexerSetModeCommand.php
index c88f7d8472780a3e7ce61e03d10ea103b3caafbb..9e82381d6154249bfd79d1368a17386c7060802b 100644
--- a/app/code/Magento/Indexer/Console/IndexerSetModeCommand.php
+++ b/app/code/Magento/Indexer/Console/Command/IndexerSetModeCommand.php
@@ -3,7 +3,7 @@
  * Copyright © 2015 Magento. All rights reserved.
  * See COPYING.txt for license details.
  */
-namespace Magento\Indexer\Console;
+namespace Magento\Indexer\Console\Command;
 
 use Symfony\Component\Console\Input\InputInterface;
 use Symfony\Component\Console\Output\OutputInterface;
@@ -30,7 +30,7 @@ class IndexerSetModeCommand extends AbstractIndexerCommand
         $this->setName('indexer:set-mode')
             ->setDescription(
                 'Sets index mode type'
-            )->setDefinition($this->getOptionsList());
+            )->setDefinition($this->getInputList());
         parent::configure();
     }
 
@@ -75,14 +75,14 @@ class IndexerSetModeCommand extends AbstractIndexerCommand
      *
      * @return InputOption[]
      */
-    public function getOptionsList()
+    public function getInputList()
     {
         $modeOptions[] = new InputArgument(
             self::INPUT_KEY_MODE,
             InputArgument::OPTIONAL,
             'Indexer mode type ['. self::INPUT_KEY_REALTIME . '|' . self::INPUT_KEY_SCHEDULE .']'
         );
-        $optionsList = array_merge($modeOptions, parent::getOptionsList());
+        $optionsList = array_merge($modeOptions, parent::getInputList());
         return $optionsList;
     }
 
diff --git a/app/code/Magento/Indexer/Console/IndexerShowModeCommand.php b/app/code/Magento/Indexer/Console/Command/IndexerShowModeCommand.php
similarity index 91%
rename from app/code/Magento/Indexer/Console/IndexerShowModeCommand.php
rename to app/code/Magento/Indexer/Console/Command/IndexerShowModeCommand.php
index 81c6e05f7158a0dbf737524d9ea2103bbe122503..a7ac55993cb2f28cd9cf7fd1bd80f7f34e1878f5 100644
--- a/app/code/Magento/Indexer/Console/IndexerShowModeCommand.php
+++ b/app/code/Magento/Indexer/Console/Command/IndexerShowModeCommand.php
@@ -3,7 +3,7 @@
  * Copyright © 2015 Magento. All rights reserved.
  * See COPYING.txt for license details.
  */
-namespace Magento\Indexer\Console;
+namespace Magento\Indexer\Console\Command;
 
 use Symfony\Component\Console\Input\InputInterface;
 use Symfony\Component\Console\Output\OutputInterface;
@@ -20,7 +20,7 @@ class IndexerShowModeCommand extends AbstractIndexerCommand
     {
         $this->setName('indexer:show-mode')
             ->setDescription('Shows Index Mode')
-            ->setDefinition($this->getOptionsList());
+            ->setDefinition($this->getInputList());
         parent::configure();
     }
 
diff --git a/app/code/Magento/Indexer/Console/IndexerStatusCommand.php b/app/code/Magento/Indexer/Console/Command/IndexerStatusCommand.php
similarity index 93%
rename from app/code/Magento/Indexer/Console/IndexerStatusCommand.php
rename to app/code/Magento/Indexer/Console/Command/IndexerStatusCommand.php
index 26be418ac7a0b3613d588b2183f1834de6d4dff3..78ccc538711c1da105466f350c20b21b6c3467d3 100644
--- a/app/code/Magento/Indexer/Console/IndexerStatusCommand.php
+++ b/app/code/Magento/Indexer/Console/Command/IndexerStatusCommand.php
@@ -3,7 +3,7 @@
  * Copyright © 2015 Magento. All rights reserved.
  * See COPYING.txt for license details.
  */
-namespace Magento\Indexer\Console;
+namespace Magento\Indexer\Console\Command;
 
 use Symfony\Component\Console\Input\InputInterface;
 use Symfony\Component\Console\Output\OutputInterface;
@@ -20,7 +20,7 @@ class IndexerStatusCommand extends AbstractIndexerCommand
     {
         $this->setName('indexer:status')
             ->setDescription('Shows status of Indexer')
-            ->setDefinition($this->getOptionsList());
+            ->setDefinition($this->getInputList());
         parent::configure();
     }
 
diff --git a/app/code/Magento/Indexer/Test/Unit/Console/IndexerCommandCommonTestSetup.php b/app/code/Magento/Indexer/Test/Unit/Console/Command/IndexerCommandCommonTestSetup.php
similarity index 96%
rename from app/code/Magento/Indexer/Test/Unit/Console/IndexerCommandCommonTestSetup.php
rename to app/code/Magento/Indexer/Test/Unit/Console/Command/IndexerCommandCommonTestSetup.php
index fe19758888fd8c9c72fb4f7b22a61ff0e135fdf6..323e8c9be7a45d5520311a6fc00e13d07073ef56 100644
--- a/app/code/Magento/Indexer/Test/Unit/Console/IndexerCommandCommonTestSetup.php
+++ b/app/code/Magento/Indexer/Test/Unit/Console/Command/IndexerCommandCommonTestSetup.php
@@ -3,7 +3,7 @@
  * Copyright © 2015 Magento. All rights reserved.
  * See COPYING.txt for license details.
  */
-namespace Magento\Indexer\Test\Unit\Console;
+namespace Magento\Indexer\Test\Unit\Console\Command;
 
 use Magento\Framework\App\ObjectManagerFactory;
 
diff --git a/app/code/Magento/Indexer/Test/Unit/Console/IndexerInfoCommandTest.php b/app/code/Magento/Indexer/Test/Unit/Console/Command/IndexerInfoCommandTest.php
similarity index 89%
rename from app/code/Magento/Indexer/Test/Unit/Console/IndexerInfoCommandTest.php
rename to app/code/Magento/Indexer/Test/Unit/Console/Command/IndexerInfoCommandTest.php
index fbb8c48686430453a37f9ea378d76c0d86a005f4..2abaadc57c026ac1ed7de1aa5e84663701c15396 100644
--- a/app/code/Magento/Indexer/Test/Unit/Console/IndexerInfoCommandTest.php
+++ b/app/code/Magento/Indexer/Test/Unit/Console/Command/IndexerInfoCommandTest.php
@@ -3,9 +3,9 @@
  * Copyright © 2015 Magento. All rights reserved.
  * See COPYING.txt for license details.
  */
-namespace Magento\Indexer\Test\Unit\Console;
+namespace Magento\Indexer\Test\Unit\Console\Command;
 
-use Magento\Indexer\Console\IndexerInfoCommand;
+use Magento\Indexer\Console\Command\IndexerInfoCommand;
 use Symfony\Component\Console\Tester\CommandTester;
 
 class IndexerInfoCommandTest extends IndexerCommandCommonTestSetup
@@ -20,7 +20,7 @@ class IndexerInfoCommandTest extends IndexerCommandCommonTestSetup
     public function testGetOptions()
     {
         $this->command = new IndexerInfoCommand($this->objectManagerFactory);
-        $this->assertSame([], $this->command->getOptionsList());
+        $this->assertSame([], $this->command->getInputList());
     }
 
     public function testExecute()
diff --git a/app/code/Magento/Indexer/Test/Unit/Console/IndexerReindexCommandTest.php b/app/code/Magento/Indexer/Test/Unit/Console/Command/IndexerReindexCommandTest.php
similarity index 97%
rename from app/code/Magento/Indexer/Test/Unit/Console/IndexerReindexCommandTest.php
rename to app/code/Magento/Indexer/Test/Unit/Console/Command/IndexerReindexCommandTest.php
index e3144f1e070aeb5e62dd44356c230824cc7e9a71..210c848dae9fcbee79d5b3f6852b3885d5b1b2a4 100644
--- a/app/code/Magento/Indexer/Test/Unit/Console/IndexerReindexCommandTest.php
+++ b/app/code/Magento/Indexer/Test/Unit/Console/Command/IndexerReindexCommandTest.php
@@ -3,9 +3,9 @@
  * Copyright © 2015 Magento. All rights reserved.
  * See COPYING.txt for license details.
  */
-namespace Magento\Indexer\Test\Unit\Console;
+namespace Magento\Indexer\Test\Unit\Console\Command;
 
-use Magento\Indexer\Console\IndexerReindexCommand;
+use Magento\Indexer\Console\Command\IndexerReindexCommand;
 use Symfony\Component\Console\Tester\CommandTester;
 
 class IndexerReindexCommandTest extends IndexerCommandCommonTestSetup
@@ -20,7 +20,7 @@ class IndexerReindexCommandTest extends IndexerCommandCommonTestSetup
     public function testGetOptions()
     {
         $this->command = new IndexerReindexCommand($this->objectManagerFactory);
-        $optionsList = $this->command->getOptionsList();
+        $optionsList = $this->command->getInputList();
         $this->assertSame(2, sizeof($optionsList));
         $this->assertSame('all', $optionsList[0]->getName());
         $this->assertSame('index', $optionsList[1]->getName());
diff --git a/app/code/Magento/Indexer/Test/Unit/Console/IndexerSetModeCommandTest.php b/app/code/Magento/Indexer/Test/Unit/Console/Command/IndexerSetModeCommandTest.php
similarity index 97%
rename from app/code/Magento/Indexer/Test/Unit/Console/IndexerSetModeCommandTest.php
rename to app/code/Magento/Indexer/Test/Unit/Console/Command/IndexerSetModeCommandTest.php
index da29f189b6cdf2afad0f6310720ca9756c973776..2ccf19c0095d9975589156da645b5c715d8b1fdf 100644
--- a/app/code/Magento/Indexer/Test/Unit/Console/IndexerSetModeCommandTest.php
+++ b/app/code/Magento/Indexer/Test/Unit/Console/Command/IndexerSetModeCommandTest.php
@@ -3,9 +3,9 @@
  * Copyright © 2015 Magento. All rights reserved.
  * See COPYING.txt for license details.
  */
-namespace Magento\Indexer\Test\Unit\Console;
+namespace Magento\Indexer\Test\Unit\Console\Command;
 
-use Magento\Indexer\Console\IndexerSetModeCommand;
+use Magento\Indexer\Console\Command\IndexerSetModeCommand;
 use Symfony\Component\Console\Tester\CommandTester;
 
 /**
@@ -23,7 +23,7 @@ class IndexerSetModeCommandTest extends IndexerCommandCommonTestSetup
     public function testGetOptions()
     {
         $this->command = new IndexerSetModeCommand($this->objectManagerFactory);
-        $optionsList = $this->command->getOptionsList();
+        $optionsList = $this->command->getInputList();
         $this->assertSame(3, sizeof($optionsList));
         $this->assertSame('mode', $optionsList[0]->getName());
         $this->assertSame('all', $optionsList[1]->getName());
@@ -144,6 +144,7 @@ class IndexerSetModeCommandTest extends IndexerCommandCommonTestSetup
             ],
         ];
     }
+
     public function testExecuteWithLocalizedException()
     {
         $indexer1 = $this->getMock('Magento\Indexer\Model\Indexer', [], [], '', false);
diff --git a/app/code/Magento/Indexer/Test/Unit/Console/IndexerShowModeCommandTest.php b/app/code/Magento/Indexer/Test/Unit/Console/Command/IndexerShowModeCommandTest.php
similarity index 95%
rename from app/code/Magento/Indexer/Test/Unit/Console/IndexerShowModeCommandTest.php
rename to app/code/Magento/Indexer/Test/Unit/Console/Command/IndexerShowModeCommandTest.php
index 693afdc8d6d809195671db7a029e46dff2a515c3..1fe11acdb1886105d5d99d0c41d08874371be930 100644
--- a/app/code/Magento/Indexer/Test/Unit/Console/IndexerShowModeCommandTest.php
+++ b/app/code/Magento/Indexer/Test/Unit/Console/Command/IndexerShowModeCommandTest.php
@@ -3,9 +3,9 @@
  * Copyright © 2015 Magento. All rights reserved.
  * See COPYING.txt for license details.
  */
-namespace Magento\Indexer\Test\Unit\Console;
+namespace Magento\Indexer\Test\Unit\Console\Command;
 
-use Magento\Indexer\Console\IndexerShowModeCommand;
+use Magento\Indexer\Console\Command\IndexerShowModeCommand;
 use Symfony\Component\Console\Tester\CommandTester;
 
 class IndexerShowModeCommandTest extends IndexerCommandCommonTestSetup
@@ -20,7 +20,7 @@ class IndexerShowModeCommandTest extends IndexerCommandCommonTestSetup
     public function testGetOptions()
     {
         $this->command = new IndexerShowModeCommand($this->objectManagerFactory);
-        $optionsList = $this->command->getOptionsList();
+        $optionsList = $this->command->getInputList();
         $this->assertSame(2, sizeof($optionsList));
         $this->assertSame('all', $optionsList[0]->getName());
         $this->assertSame('index', $optionsList[1]->getName());
diff --git a/app/code/Magento/Indexer/Test/Unit/Console/IndexerStatusCommandTest.php b/app/code/Magento/Indexer/Test/Unit/Console/Command/IndexerStatusCommandTest.php
similarity index 96%
rename from app/code/Magento/Indexer/Test/Unit/Console/IndexerStatusCommandTest.php
rename to app/code/Magento/Indexer/Test/Unit/Console/Command/IndexerStatusCommandTest.php
index d8b9ac86b5ca8c19fdc55a56f96d925a0125742a..e9d0a09f2fba00da4981fbef14155e1ce2a8e476 100644
--- a/app/code/Magento/Indexer/Test/Unit/Console/IndexerStatusCommandTest.php
+++ b/app/code/Magento/Indexer/Test/Unit/Console/Command/IndexerStatusCommandTest.php
@@ -3,9 +3,9 @@
  * Copyright © 2015 Magento. All rights reserved.
  * See COPYING.txt for license details.
  */
-namespace Magento\Indexer\Test\Unit\Console;
+namespace Magento\Indexer\Test\Unit\Console\Command;
 
-use Magento\Indexer\Console\IndexerStatusCommand;
+use Magento\Indexer\Console\Command\IndexerStatusCommand;
 use Symfony\Component\Console\Tester\CommandTester;
 
 class IndexerStatusCommandTest extends IndexerCommandCommonTestSetup
diff --git a/app/code/Magento/Indexer/etc/di.xml b/app/code/Magento/Indexer/etc/di.xml
index eae62d002dccb090b84838ca1af4eaaa7e8d5b9e..8c6730dffb5c959d732d78f590c366eae74ef1bb 100644
--- a/app/code/Magento/Indexer/etc/di.xml
+++ b/app/code/Magento/Indexer/etc/di.xml
@@ -38,11 +38,11 @@
     <type name="Magento\Framework\Console\CommandList">
         <arguments>
             <argument name="commands" xsi:type="array">
-                <item name="info" xsi:type="object">Magento\Indexer\Console\IndexerInfoCommand</item>
-                <item name="reindex" xsi:type="object">Magento\Indexer\Console\IndexerReindexCommand</item>
-                <item name="set-mode" xsi:type="object">Magento\Indexer\Console\IndexerSetModeCommand</item>
-                <item name="show-mode" xsi:type="object">Magento\Indexer\Console\IndexerShowModeCommand</item>
-                <item name="status" xsi:type="object">Magento\Indexer\Console\IndexerStatusCommand</item>
+                <item name="info" xsi:type="object">Magento\Indexer\Console\Command\IndexerInfoCommand</item>
+                <item name="reindex" xsi:type="object">Magento\Indexer\Console\Command\IndexerReindexCommand</item>
+                <item name="set-mode" xsi:type="object">Magento\Indexer\Console\Command\IndexerSetModeCommand</item>
+                <item name="show-mode" xsi:type="object">Magento\Indexer\Console\Command\IndexerShowModeCommand</item>
+                <item name="status" xsi:type="object">Magento\Indexer\Console\Command\IndexerStatusCommand</item>
             </argument>
         </arguments>
     </type>