diff --git a/core/API/DataTableManipulator.php b/core/API/DataTableManipulator.php
index c984eee0fcc3239f1226239082e02701941cd0e6..a8d88fda4353ec060f9f41dec7bc2e94dec396a9 100644
--- a/core/API/DataTableManipulator.php
+++ b/core/API/DataTableManipulator.php
@@ -8,6 +8,7 @@
  * @category Piwik
  * @package Piwik
  */
+use Piwik\Period_Range;
 
 /**
  * Base class for manipulating data tables.
@@ -110,7 +111,7 @@ abstract class Piwik_API_DataTableManipulator
         $request['idSubtable'] = $idSubTable;
         if ($dataTable) {
             $period = $dataTable->metadata['period'];
-            if ($period instanceof Piwik_Period_Range) {
+            if ($period instanceof Period_Range) {
                 $request['date'] = $period->getDateStart().','.$period->getDateEnd();
             } else {
                 $request['date'] = $period->getDateStart()->toString();
diff --git a/core/API/DocumentationGenerator.php b/core/API/DocumentationGenerator.php
index 76c7b2f15603a6731efec093807176a392c8b665..19150ce1da7475c2be2e0c343884eb80a8051b00 100644
--- a/core/API/DocumentationGenerator.php
+++ b/core/API/DocumentationGenerator.php
@@ -25,7 +25,7 @@ class Piwik_API_DocumentationGenerator
      */
     public function __construct()
     {
-        $plugins = Piwik_PluginsManager::getInstance()->getLoadedPluginsName();
+        $plugins = PluginsManager::getInstance()->getLoadedPluginsName();
         foreach ($plugins as $plugin) {
             $plugin = Common::unprefixClass($plugin);
             try {
diff --git a/core/API/Request.php b/core/API/Request.php
index 49ffc2a5df586976cd3f18a17380ed774ea8be24..4af8db7500eaa5be45c6b4dbe20dcf6867abcefd 100644
--- a/core/API/Request.php
+++ b/core/API/Request.php
@@ -137,7 +137,7 @@ class Piwik_API_Request
 
             list($module, $method) = $this->extractModuleAndMethod($moduleMethod);
 
-            if (!Piwik_PluginsManager::getInstance()->isPluginActivated($module)) {
+            if (!PluginsManager::getInstance()->isPluginActivated($module)) {
                 throw new Piwik_FrontController_PluginDeactivatedException($module);
             }
             $moduleClass = "Piwik_" . $module . "_API";
diff --git a/core/Archive.php b/core/Archive.php
index 5ba77c65233233d1afaeee48d14c83eb0ce007a4..ddc0cb453ecb0d0a828c2810a1f89fa7d48245a9 100644
--- a/core/Archive.php
+++ b/core/Archive.php
@@ -10,6 +10,7 @@
  */
 namespace Piwik;
 use Piwik\Piwik;
+use Piwik\Metrics;
 
 /**
  * The archive object is used to query specific data for a day or a period of statistics for a given website.
@@ -92,16 +93,16 @@ class Archive
     private $forceIndexedByDate;
 
     /**
-     * @var Piwik_Archive_Parameters
+     * @var Archive_Parameters
      */
     private $params;
 
     /**
-     * @param Piwik_Archive_Parameters $params
+     * @param Archive_Parameters $params
      * @param bool $forceIndexedBySite Whether to force index the result of a query by site ID.
      * @param bool $forceIndexedByDate Whether to force index the result of a query by period.
      */
-    protected function __construct(Piwik_Archive_Parameters $params, $forceIndexedBySite = false,
+    protected function __construct(Archive_Parameters $params, $forceIndexedBySite = false,
                                    $forceIndexedByDate = false)
     {
         $this->params = $params;
@@ -125,20 +126,20 @@ class Archive
         $websiteIds = Site::getIdSitesFromIdSitesString($idSites, $_restrictSitesToLogin);
 
         if (Period::isMultiplePeriod($strDate, $period)) {
-            $oPeriod = new Piwik_Period_Range($period, $strDate);
+            $oPeriod = new Period_Range($period, $strDate);
             $allPeriods = $oPeriod->getSubperiods();
         } else {
             $timezone = count($websiteIds) == 1 ? Site::getTimezoneFor($websiteIds[0]) : false;
             $oPeriod = Period::makePeriodFromQueryParams($timezone, $period, $strDate);
             $allPeriods = array($oPeriod);
         }
-        $segment = new Piwik_Segment($segment, $websiteIds);
+        $segment = new Segment($segment, $websiteIds);
         $idSiteIsAll = $idSites == self::REQUEST_ALL_WEBSITES_FLAG;
         $isMultipleDate = Period::isMultiplePeriod($strDate, $period);
         return Archive::factory($segment, $allPeriods, $websiteIds, $idSiteIsAll, $isMultipleDate);
     }
 
-    public static function factory(Piwik_Segment $segment, array $periods, $idSites, $idSiteIsAll = false, $isMultipleDate = false)
+    public static function factory(Segment $segment, array $periods, $idSites, $idSiteIsAll = false, $isMultipleDate = false)
     {
         $forceIndexedBySite = false;
         $forceIndexedByDate = false;
@@ -149,7 +150,7 @@ class Archive
             $forceIndexedByDate = true;
         }
 
-        $params = new Piwik_Archive_Parameters();
+        $params = new Archive_Parameters();
         $params->setIdSites($idSites);
         $params->setPeriods($periods);
         $params->setSegment($segment);
@@ -314,7 +315,7 @@ class Archive
      * @param array|string $archiveNames
      * @param $archiveDataType
      * @param null|int $idSubtable
-     * @return Piwik_Archive_DataCollection
+     * @return Archive_DataCollection
      */
     private function get($archiveNames, $archiveDataType, $idSubtable = null)
     {
@@ -331,7 +332,7 @@ class Archive
             }
         }
 
-        $result = new Piwik_Archive_DataCollection(
+        $result = new Archive_DataCollection(
             $archiveNames, $archiveDataType, $this->params->getIdSites(), $this->params->getPeriods(), $defaultRow = null);
 
         $archiveIds = $this->getArchiveIds($archiveNames);
@@ -412,7 +413,7 @@ class Archive
     }
 
     /**
-     * @return Piwik_Archive_Parameters
+     * @return Archive_Parameters
      */
     public function getParams()
     {
@@ -528,7 +529,7 @@ class Archive
 
     /**
      * Returns an array describing what metadata to use when indexing a query result.
-     * For use with Piwik_Archive_DataCollection.
+     * For use with Archive_DataCollection.
      *
      * @return array
      */
@@ -627,7 +628,7 @@ class Archive
     public static function getPluginForReport($report)
     {
         // Core metrics are always processed in Core, for the requested date/period/segment
-        if (in_array($report, Piwik_Metrics::getVisitsMetricNames())) {
+        if (in_array($report, Metrics::getVisitsMetricNames())) {
             $report = 'VisitsSummary_CoreMetrics';
         } // Goal_* metrics are processed by the Goals plugin (HACK)
         else if (strpos($report, 'Goal_') === 0) {
diff --git a/core/Archive/DataCollection.php b/core/Archive/DataCollection.php
index f6b50b485b5d599d73df12fe96a13290423899db..1f4a29382df278173859a3d34e493275b39b9260 100644
--- a/core/Archive/DataCollection.php
+++ b/core/Archive/DataCollection.php
@@ -9,18 +9,19 @@
  * @package Piwik
  */
 
+namespace Piwik;
 /**
  * This class is used to hold and transform archive data for the Archive class.
- * 
+ *
  * Archive data is loaded into an instance of this type, can be indexed by archive
  * metadata (such as the site ID, period string, etc.), and can be transformed into
  * Piwik_DataTable and Piwik_DataTable_Array instances.
  */
-class Piwik_Archive_DataCollection
+class Archive_DataCollection
 {
     /**
      * The archive data, indexed first by site ID and then by period date range. Eg,
-     * 
+     *
      * array(
      *     '0' => array(
      *         array(
@@ -34,66 +35,66 @@ class Piwik_Archive_DataCollection
      *         )
      *     )
      * )
-     * 
+     *
      * Archive data can be either a numeric value or a serialized string blob. Every
      * piece of archive data is associated by it's archive name. For example,
      * the array(...) above could look like:
-     * 
+     *
      * array(
      *    'nb_visits' => 1,
      *    'nb_actions' => 2
      * )
-     * 
+     *
      * There is a special element '_metadata' in data rows that holds values treated
      * as DataTable metadata.
      */
     private $data = array();
-    
+
     /**
      * The whole list of metric/record names that were used in the archive query.
-     * 
+     *
      * @var array
      */
     private $dataNames;
-    
+
     /**
      * The type of data that was queried for (ie, "blob" or "numeric").
-     * 
+     *
      * @var string
      */
     private $dataType;
-    
+
     /**
      * The default values to use for each metric/record name that's being queried
      * for.
-     * 
+     *
      * @var array
      */
     private $defaultRow;
-    
+
     /**
      * The list of all site IDs that were queried for.
-     * 
+     *
      * @var array
      */
     private $sitesId;
-    
+
     /**
      * The list of all periods that were queried for. Each period is associated with
      * the period's range string. Eg,
-     * 
+     *
      * array(
      *     '2012-01-01,2012-01-31' => new Period(...),
      *     '2012-02-01,2012-02-28' => new Period(...),
      * )
-     * 
+     *
      * @var array
      */
     private $periods;
-    
+
     /**
      * Constructor.
-     * 
+     *
      * @param array $dataNames @see $this->dataNames
      * @param string $dataType @see $this->dataType
      * @param array $sitesId @see $this->sitesId
@@ -104,7 +105,7 @@ class Piwik_Archive_DataCollection
     {
         $this->dataNames = $dataNames;
         $this->dataType = $dataType;
-        
+
         if ($defaultRow === null) {
             $defaultRow = array_fill_keys($dataNames, 0);
         }
@@ -117,11 +118,11 @@ class Piwik_Archive_DataCollection
         }
         $this->defaultRow = $defaultRow;
     }
-    
+
     /**
      * Returns a reference to the data for a specific site & period. If there is
      * no data for the given site ID & period, it is set to the default row.
-     * 
+     *
      * @param int $idSite
      * @param string $period eg, '2012-01-01,2012-01-31'
      */
@@ -132,15 +133,15 @@ class Piwik_Archive_DataCollection
         }
         return $this->data[$idSite][$period];
     }
-    
+
     /**
      * Adds a new metadata to the data for specific site & period. If there is no
      * data for the given site ID & period, it is set to the default row.
-     * 
+     *
      * Note: Site ID and period range string are two special types of metadata. Since
      * the data stored in this class is indexed by site & period, this metadata is not
      * stored in individual data rows.
-     * 
+     *
      * @param int $idSite
      * @param string $period eg, '2012-01-01,2012-01-31'
      * @param string $name The metadata name.
@@ -148,24 +149,24 @@ class Piwik_Archive_DataCollection
      */
     public function addMetadata($idSite, $period, $name, $value)
     {
-        $row = &$this->get($idSite, $period);
+        $row = & $this->get($idSite, $period);
         $row['_metadata'][$name] = $value;
     }
-    
+
     /**
      * Returns archive data as an array indexed by metadata.
-     * 
+     *
      * @param array $resultIndices An array mapping metadata names to pretty labels
      *                             for them. Each archive data row will be indexed
      *                             by the metadata specified here.
-     *                             
+     *
      *                             Eg, array('site' => 'idSite', 'period' => 'Date')
      * @return array
      */
     public function getArray($resultIndices)
     {
         $indexKeys = array_keys($resultIndices);
-        
+
         $result = $this->createEmptyIndex($indexKeys);
         foreach ($this->data as $idSite => $rowsByPeriod) {
             foreach ($rowsByPeriod as $period => $row) {
@@ -180,23 +181,23 @@ class Piwik_Archive_DataCollection
                 if (empty($this->periods[$period])) {
                     continue;
                 }
-                
+
                 $indexRowKeys = $this->getRowKeys($indexKeys, $row, $idSite, $period);
-                
+
                 $this->setIndexRow($result, $indexRowKeys, $row);
             }
         }
         return $result;
     }
-    
+
     /**
      * Returns archive data as a DataTable indexed by metadata. Indexed data will
      * be represented by Piwik_DataTable_Array instances.
-     * 
+     *
      * @param array $resultIndices An array mapping metadata names to pretty labels
      *                             for them. Each archive data row will be indexed
      *                             by the metadata specified here.
-     *                             
+     *
      *                             Eg, array('site' => 'idSite', 'period' => 'Date')
      * @return Piwik_DataTable|Piwik_DataTable_Array
      */
@@ -204,7 +205,7 @@ class Piwik_Archive_DataCollection
     {
         $dataTableFactory = new Piwik_Archive_DataTableFactory(
             $this->dataNames, $this->dataType, $this->sitesId, $this->periods, $this->defaultRow);
-        
+
         $index = $this->getArray($resultIndices);
         return $dataTableFactory->make($index, $resultIndices);
     }
@@ -231,27 +232,27 @@ class Piwik_Archive_DataCollection
     public function getExpandedDataTable($resultIndices, $idSubtable = null, $addMetadataSubtableId = false)
     {
         if ($this->dataType != 'blob') {
-            throw new Exception("Piwik_Archive_DataCollection: cannot call getExpandedDataTable with "
-                               . "{$this->dataType} data types. Only works with blob data.");
+            throw new Exception("Archive_DataCollection: cannot call getExpandedDataTable with "
+                . "{$this->dataType} data types. Only works with blob data.");
         }
-        
+
         if (count($this->dataNames) !== 1) {
-            throw new Exception("Piwik_Archive_DataCollection: cannot call getExpandedDataTable with "
-                               . "more than one record.");
+            throw new Exception("Archive_DataCollection: cannot call getExpandedDataTable with "
+                . "more than one record.");
         }
-        
+
         $dataTableFactory = new Piwik_Archive_DataTableFactory(
             $this->dataNames, 'blob', $this->sitesId, $this->periods, $this->defaultRow);
         $dataTableFactory->expandDataTable($addMetadataSubtableId);
         $dataTableFactory->useSubtable($idSubtable);
-        
+
         $index = $this->getArray($resultIndices);
         return $dataTableFactory->make($index, $resultIndices);
     }
-    
+
     /**
      * Returns metadata for a data row.
-     * 
+     *
      * @param array $data The data row.
      * @return array
      */
@@ -263,29 +264,29 @@ class Piwik_Archive_DataCollection
             return array();
         }
     }
-    
+
     /**
      * Removes all table metadata from a data row.
-     * 
+     *
      * @param array $data The data row.
      */
     public static function removeMetadataFromDataRow(&$data)
     {
         unset($data['_metadata']);
     }
-    
+
     /**
      * Creates an empty index using a list of metadata names. If the 'site' and/or
      * 'period' metadata names are supplied, empty rows are added for every site/period
      * that was queried for.
-     * 
+     *
      * @param array $indexKeys List of metadata names to index archive data by.
      * @return array
      */
     private function createEmptyIndex($indexKeys)
     {
         $result = array();
-        
+
         if (!empty($indexKeys)) {
             $index = array_shift($indexKeys);
             if ($index == 'site') {
@@ -298,17 +299,17 @@ class Piwik_Archive_DataCollection
                 }
             }
         }
-        
+
         return $result;
     }
-    
+
     /**
      * Sets a row in an index by the index keys of the row.
      */
     private function setIndexRow(&$result, $keys, $row)
     {
         $keyCount = count($keys);
-        
+
         if ($keyCount > 1) {
             $firstKey = array_shift($keys);
             $this->setIndexRow($result[$firstKey], $keys, $row);
@@ -318,10 +319,10 @@ class Piwik_Archive_DataCollection
             $result = $row;
         }
     }
-    
+
     /**
      * Returns the index keys for a row based on a set of metadata names.
-     * 
+     *
      * @param array $metadataNames
      * @param array $row
      * @param int $idSite The site ID for the row (needed since site ID is not
diff --git a/core/Archive/DataTableFactory.php b/core/Archive/DataTableFactory.php
index 0b3cf237432a3ac4e79bbc98eff741e2fe37ca23..e0d516aeb60800178b58d8d7a1ea81f6bb7da493 100644
--- a/core/Archive/DataTableFactory.php
+++ b/core/Archive/DataTableFactory.php
@@ -9,24 +9,25 @@
  * @package Piwik
  */
 
+use Piwik\Archive_DataCollection;
 use Piwik\Site;
 const FIX_ME_OMG = 'this is a warning and reminder to fix this code ';
 
 /**
  * Creates a Piwik_DataTable or Piwik_DataTable_Array instance based on an array
- * index created by Piwik_Archive_DataCollection.
+ * index created by Archive_DataCollection.
  * 
- * This class is only used by Piwik_Archive_DataCollection.
+ * This class is only used by Archive_DataCollection.
  */
 class Piwik_Archive_DataTableFactory
 {
     /**
-     * @see Piwik_Archive_DataCollection::$dataNames.
+     * @see Archive_DataCollection::$dataNames.
      */
     private $dataNames;
     
     /**
-     * @see Piwik_Archive_DataCollection::$dataType.
+     * @see Archive_DataCollection::$dataType.
      */
     private $dataType;
     
@@ -48,12 +49,12 @@ class Piwik_Archive_DataTableFactory
     private $addMetadataSubtableId = false;
     
     /**
-     * @see Piwik_Archive_DataCollection::$sitesId.
+     * @see Archive_DataCollection::$sitesId.
      */
     private $sitesId;
     
     /**
-     * @see Piwik_Archive_DataCollection::$periods.
+     * @see Archive_DataCollection::$periods.
      */
     private $periods;
     
@@ -65,7 +66,7 @@ class Piwik_Archive_DataTableFactory
     private $idSubtable = null;
     
     /**
-     * @see Piwik_Archive_DataCollection::$defaultRow.
+     * @see Archive_DataCollection::$defaultRow.
      */
     private $defaultRow;
     
@@ -118,7 +119,7 @@ class Piwik_Archive_DataTableFactory
      * Creates a Piwik_DataTable|Piwik_DataTable_Array instance using an index of
      * archive data.
      * 
-     * @param array $index @see Piwik_Archive_DataCollection
+     * @param array $index @see Archive_DataCollection
      * @param array $resultIndices an array mapping metadata names with pretty metadata
      *                             labels.
      * @return Piwik_DataTable|Piwik_DataTable_Array
@@ -192,7 +193,7 @@ class Piwik_Archive_DataTableFactory
         }
         
         // set table metadata
-        $table->metadata = Piwik_Archive_DataCollection::getDataRowMetadata($blobRow);
+        $table->metadata = Archive_DataCollection::getDataRowMetadata($blobRow);
         
         if ($this->expandDataTable) {
             $table->enableRecursiveFilters();
@@ -214,7 +215,7 @@ class Piwik_Archive_DataTableFactory
         $table = new Piwik_DataTable_Array();
         $table->setKeyName('recordName');
         
-        $tableMetadata = Piwik_Archive_DataCollection::getDataRowMetadata($blobRow);
+        $tableMetadata = Archive_DataCollection::getDataRowMetadata($blobRow);
         
         foreach ($blobRow as $name => $blob) {
             $newTable = Piwik_DataTable::fromSerializedArray($blob);
@@ -229,7 +230,7 @@ class Piwik_Archive_DataTableFactory
     /**
      * Creates a Piwik_DataTable_Array from an array index.
      * 
-     * @param array $index @see Piwik_Archive_DataCollection
+     * @param array $index @see Archive_DataCollection
      * @param array $resultIndices @see make
      * @param array $keyMetadata The metadata to add to the table when it's created.
      * @return Piwik_DataTable_Array
@@ -274,9 +275,9 @@ class Piwik_Archive_DataTableFactory
             $table = new Piwik_DataTable_Simple();
             
             if (!empty($data)) {
-                $table->metadata = Piwik_Archive_DataCollection::getDataRowMetadata($data);
+                $table->metadata = Archive_DataCollection::getDataRowMetadata($data);
                 
-                Piwik_Archive_DataCollection::removeMetadataFromDataRow($data);
+                Archive_DataCollection::removeMetadataFromDataRow($data);
                 
                 $table->addRow(new Piwik_DataTable_Row(array(Piwik_DataTable_Row::COLUMNS => $data)));
             } else {
diff --git a/core/Archive/Parameters.php b/core/Archive/Parameters.php
index 0db74b0a58e0ba58f4cc38e1496b2c6cd1017a22..aa03d3beed89f0c9e75954b11414ff09db024210 100644
--- a/core/Archive/Parameters.php
+++ b/core/Archive/Parameters.php
@@ -1,6 +1,10 @@
 <?php
 
-class Piwik_Archive_Parameters
+namespace Piwik;
+use Exception;
+use Piwik\Segment;
+
+class Archive_Parameters
 {
     /**
      * The list of site IDs to query archive data for.
@@ -19,7 +23,7 @@ class Piwik_Archive_Parameters
     /**
      * Segment applied to the visits set.
      *
-     * @var Piwik_Segment
+     * @var Segment
      */
     private $segment;
 
@@ -28,7 +32,7 @@ class Piwik_Archive_Parameters
         return $this->segment;
     }
 
-    public function setSegment(Piwik_Segment $segment)
+    public function setSegment(Segment $segment)
     {
         $this->segment = $segment;
     }
diff --git a/core/ArchiveProcessor.php b/core/ArchiveProcessor.php
index 42185a219b4d1df8aefba374c821eb385d520f5f..63b16ebd935ce8808dd21004d1cbbdf2b68198ef 100644
--- a/core/ArchiveProcessor.php
+++ b/core/ArchiveProcessor.php
@@ -11,6 +11,7 @@
 use Piwik\Config;
 use Piwik\Period;
 use Piwik\Piwik;
+use Piwik\Segment;
 use Piwik\Site;
 
 /**
@@ -92,11 +93,11 @@ abstract class Piwik_ArchiveProcessor
     private $period = null;
 
     /**
-     * @var Piwik_Segment
+     * @var Segment
      */
     private $segment = null;
 
-    public function __construct(Period $period, Site $site, Piwik_Segment $segment)
+    public function __construct(Period $period, Site $site, Segment $segment)
     {
         $this->period = $period;
         $this->site = $site;
@@ -132,7 +133,7 @@ abstract class Piwik_ArchiveProcessor
     }
 
     /**
-     * @return Piwik_Segment
+     * @return Segment
      */
     public function getSegment()
     {
@@ -436,7 +437,7 @@ abstract class Piwik_ArchiveProcessor
         if ($pluginBeingProcessed == $pluginName) {
             return true;
         }
-        if (!Piwik_PluginsManager::getInstance()->isPluginLoaded($pluginBeingProcessed)) {
+        if (!PluginsManager::getInstance()->isPluginLoaded($pluginBeingProcessed)) {
             return true;
         }
         return false;
diff --git a/core/ArchiveProcessor/Day.php b/core/ArchiveProcessor/Day.php
index 7507da0591ed70461b7899f55e9f70bb4a91e34d..8d17b34ad2b7591dee0cb31b9267f00e8038bbe7 100644
--- a/core/ArchiveProcessor/Day.php
+++ b/core/ArchiveProcessor/Day.php
@@ -8,6 +8,7 @@
  * @category Piwik
  * @package Piwik
  */
+use Piwik\Metrics;
 
 /**
  * This class
@@ -51,7 +52,7 @@ class Piwik_ArchiveProcessor_Day extends Piwik_ArchiveProcessor
      * The returned array will have a row per distinct operating systems,
      * and a column per stat (nb of visits, max  actions, etc)
      *
-     * 'label'    Piwik_Metrics::INDEX_NB_UNIQ_VISITORS    Piwik_Metrics::INDEX_NB_VISITS    etc.
+     * 'label'    Metrics::INDEX_NB_UNIQ_VISITORS    Metrics::INDEX_NB_VISITS    etc.
      * Linux    27    66    ...
      * Windows XP    12    ...
      * Mac OS    15    36    ...
@@ -89,7 +90,7 @@ class Piwik_ArchiveProcessor_Day extends Piwik_ArchiveProcessor
     {
         $metrics = array();
         foreach ($data as $metricId => $value) {
-            $readableMetric = Piwik_Metrics::$mappingFromIdToName[$metricId];
+            $readableMetric = Metrics::$mappingFromIdToName[$metricId];
             $metrics[$readableMetric] = $value;
         }
         return $metrics;
diff --git a/core/ArchiveProcessor/Period.php b/core/ArchiveProcessor/Period.php
index 3616e6d56de44bb98c919ef7076746dec673e0f5..0350adb0347367e13424a3a9be33dbc6e7d86ea0 100644
--- a/core/ArchiveProcessor/Period.php
+++ b/core/ArchiveProcessor/Period.php
@@ -9,6 +9,7 @@
  * @package Piwik
  */
 use Piwik\Archive;
+use Piwik\Metrics;
 use Piwik\Piwik;
 use Piwik\Common;
 
@@ -30,7 +31,7 @@ class Piwik_ArchiveProcessor_Period extends Piwik_ArchiveProcessor
      * @var array
      */
     protected static $invalidSummedColumnNameToRenamedName = array(
-        Piwik_Metrics::INDEX_NB_UNIQ_VISITORS => Piwik_Metrics::INDEX_SUM_DAILY_NB_UNIQ_VISITORS
+        Metrics::INDEX_NB_UNIQ_VISITORS => Metrics::INDEX_SUM_DAILY_NB_UNIQ_VISITORS
     );
 
     /**
@@ -181,7 +182,7 @@ class Piwik_ArchiveProcessor_Period extends Piwik_ArchiveProcessor
 
     protected function aggregateCoreVisitsMetrics()
     {
-        $toSum = Piwik_Metrics::getVisitsMetricNames();
+        $toSum = Metrics::getVisitsMetricNames();
         $metrics = $this->aggregateNumericMetrics($toSum);
         return $metrics;
     }
@@ -290,8 +291,8 @@ class Piwik_ArchiveProcessor_Period extends Piwik_ArchiveProcessor
     protected function computeNbUniqVisitors()
     {
         $logAggregator = $this->getLogAggregator();
-        $query = $logAggregator->queryVisitsByDimension(array(), false, array(), array(Piwik_Metrics::INDEX_NB_UNIQ_VISITORS));
+        $query = $logAggregator->queryVisitsByDimension(array(), false, array(), array(Metrics::INDEX_NB_UNIQ_VISITORS));
         $data = $query->fetch();
-        return $data[Piwik_Metrics::INDEX_NB_UNIQ_VISITORS];
+        return $data[Metrics::INDEX_NB_UNIQ_VISITORS];
     }
 }
diff --git a/core/ArchiveProcessor/Rules.php b/core/ArchiveProcessor/Rules.php
index b8b91cd70341e57526dcbbd1b557d109519c40ad..de856f470b3b4de17e77590447afc643c7c8dd9b 100644
--- a/core/ArchiveProcessor/Rules.php
+++ b/core/ArchiveProcessor/Rules.php
@@ -12,6 +12,7 @@ use Piwik\Config;
 use Piwik\Period;
 use Piwik\Piwik;
 use Piwik\Common;
+use Piwik\Segment;
 use Piwik\Site;
 
 /**
@@ -35,7 +36,7 @@ class Piwik_ArchiveProcessor_Rules
      * Returns the name of the archive field used to tell the status of an archive, (ie,
      * whether the archive was created successfully or not).
      *
-     * @param Piwik_Segment $segment
+     * @param Segment $segment
      * @param string $periodLabel
      * @param string $plugin
      * @return string
@@ -48,7 +49,7 @@ class Piwik_ArchiveProcessor_Rules
         return self::getDoneFlagArchiveContainsAllPlugins($segment);
     }
 
-    public static function shouldProcessReportsAllPlugins(Piwik_Segment $segment, $periodLabel)
+    public static function shouldProcessReportsAllPlugins(Segment $segment, $periodLabel)
     {
         if ($segment->isEmpty() && $periodLabel != 'range') {
             return true;
@@ -66,12 +67,12 @@ class Piwik_ArchiveProcessor_Rules
         return false;
     }
 
-    private static function getDoneFlagArchiveContainsOnePlugin(Piwik_Segment $segment, $plugin)
+    private static function getDoneFlagArchiveContainsOnePlugin(Segment $segment, $plugin)
     {
         return 'done' . $segment->getHash() . '.' . $plugin;
     }
 
-    private static function getDoneFlagArchiveContainsAllPlugins(Piwik_Segment $segment)
+    private static function getDoneFlagArchiveContainsAllPlugins(Segment $segment)
     {
         return 'done' . $segment->getHash();
     }
@@ -139,7 +140,7 @@ class Piwik_ArchiveProcessor_Rules
         return false;
     }
 
-    public static function getMinTimeProcessedForTemporaryArchive(Piwik_Date $dateStart, Period $period, Piwik_Segment $segment, Site $site)
+    public static function getMinTimeProcessedForTemporaryArchive(Piwik_Date $dateStart, Period $period, Segment $segment, Site $site)
     {
         $now = time();
         $minimumArchiveTime = $now - Piwik_ArchiveProcessor_Rules::getTodayArchiveTimeToLive();
@@ -179,7 +180,7 @@ class Piwik_ArchiveProcessor_Rules
         return Config::getInstance()->General['time_before_today_archive_considered_outdated'];
     }
 
-    public static function isArchivingDisabledFor(Piwik_Segment $segment, $periodLabel)
+    public static function isArchivingDisabledFor(Segment $segment, $periodLabel)
     {
         if ($periodLabel == 'range') {
             return false;
diff --git a/core/AssetManager.php b/core/AssetManager.php
index c425a92c323a60db0a0ec5f3409db3c75cb928fc..f82f691c20aab849d5dea815a24f59855e78d1fd 100644
--- a/core/AssetManager.php
+++ b/core/AssetManager.php
@@ -81,7 +81,7 @@ class Piwik_AssetManager
      */
     public static function generateAssetsCacheBuster()
     {
-        $pluginList = md5(implode(",", Piwik_PluginsManager::getInstance()->getLoadedPluginsName()));
+        $pluginList = md5(implode(",", PluginsManager::getInstance()->getLoadedPluginsName()));
         $cacheBuster = md5(Common::getSalt() . $pluginList . PHP_VERSION . Piwik_Version::VERSION);
         return $cacheBuster;
     }
diff --git a/core/Common.php b/core/Common.php
index 2f12f3e48894c2b94af7703387ddce20dc2ddb0e..c7ed91eacdb34f3232549e079c61399534b2e81a 100644
--- a/core/Common.php
+++ b/core/Common.php
@@ -3,7 +3,6 @@ namespace Piwik;
 
 use Exception;
 use Piwik_IP;
-use Piwik_PluginsManager;
 use Piwik_Tracker;
 use Piwik_Tracker_Cache;
 use Piwik_UserCountry_LocationProvider_Default;
@@ -106,7 +105,7 @@ class Common
      */
     public static function isGoalPluginEnabled()
     {
-        return Piwik_PluginsManager::getInstance()->isPluginActivated('Goals');
+        return PluginsManager::getInstance()->isPluginActivated('Goals');
     }
 
     /*
@@ -970,7 +969,7 @@ class Common
      * @param string|null $browserLang  Optional browser language, otherwise taken from the request header
      * @return string
      */
-    public static function getBrowserLanguage($browserLang = NULL)
+    public static function getBrowserLanguage($browserLang = null)
     {
         static $replacementPatterns = array(
             // extraneous bits of RFC 3282 that we ignore
diff --git a/core/Controller.php b/core/Controller.php
index 06d946ad56fd4b978c5f20d54a80c863ea61c6cd..646b1552b1a69f342bb0f8a3558bc8a3f0f509ca 100644
--- a/core/Controller.php
+++ b/core/Controller.php
@@ -10,6 +10,7 @@
  */
 use Piwik\Config;
 use Piwik\Period;
+use Piwik\Period_Range;
 use Piwik\Piwik;
 use Piwik\Common;
 use Piwik\Access;
@@ -298,7 +299,7 @@ abstract class Piwik_Controller
      */
     public static function getDateRangeRelativeToEndDate($period, $lastN, $endDate, $site)
     {
-        $last30Relative = new Piwik_Period_Range($period, $lastN, $site->getTimezone());
+        $last30Relative = new Period_Range($period, $lastN, $site->getTimezone());
         $last30Relative->setDefaultEndDate(Piwik_Date::factory($endDate));
         $date = $last30Relative->getDateStart()->toString() . "," . $last30Relative->getDateEnd()->toString();
         return $date;
@@ -406,7 +407,7 @@ abstract class Piwik_Controller
                 $date = Piwik_Date::factory($this->strDate);
                 $period = Period::factory($periodStr, $date);
             } else {
-                $period = new Piwik_Period_Range($periodStr, $rawDate, $this->site->getTimezone());
+                $period = new Period_Range($periodStr, $rawDate, $this->site->getTimezone());
             }
             $view->rawDate = $rawDate;
             $view->prettyDate = self::getCalendarPrettyDate($period);
diff --git a/core/Controller/Admin.php b/core/Controller/Admin.php
index 7e62499cd1133e7476f6c829feaa5e9eb4681696..dd98dbc835429117035248688bbb6737a94f2de3 100644
--- a/core/Controller/Admin.php
+++ b/core/Controller/Admin.php
@@ -54,10 +54,10 @@ abstract class Piwik_Controller_Admin extends Piwik_Controller
         $view->isSuperUser = Piwik::isUserIsSuperUser();
 
         // for old geoip plugin warning
-        $view->usingOldGeoIPPlugin = Piwik_PluginsManager::getInstance()->isPluginActivated('GeoIP');
+        $view->usingOldGeoIPPlugin = PluginsManager::getInstance()->isPluginActivated('GeoIP');
 
         // for cannot find installed plugin warning
-        $missingPlugins = Piwik_PluginsManager::getInstance()->getMissingPlugins();
+        $missingPlugins = PluginsManager::getInstance()->getMissingPlugins();
         if (!empty($missingPlugins)) {
             $pluginsLink = Piwik_Url::getCurrentQueryStringWithParametersModified(array(
                                                                                        'module' => 'CorePluginsAdmin', 'action' => 'index'
diff --git a/core/DataAccess/ArchiveSelector.php b/core/DataAccess/ArchiveSelector.php
index 54d18596d635dcb030f8b346933737c517a532e2..5c7abde8c6880e3e92808e5736e566031ec7b63a 100644
--- a/core/DataAccess/ArchiveSelector.php
+++ b/core/DataAccess/ArchiveSelector.php
@@ -9,8 +9,10 @@
  * @package Piwik
  */
 use Piwik\Period;
+use Piwik\Period_Range;
 use Piwik\Piwik;
 use Piwik\Common;
+use Piwik\Segment;
 use Piwik\Site;
 
 /**
@@ -33,7 +35,7 @@ class Piwik_DataAccess_ArchiveSelector
 
     const NB_VISITS_CONVERTED_RECORD_LOOKED_UP = "nb_visits_converted";
 
-    static public function getArchiveIdAndVisits(Site $site, Period $period, Piwik_Segment $segment, $minDatetimeArchiveProcessedUTC, $requestedPlugin)
+    static public function getArchiveIdAndVisits(Site $site, Period $period, Segment $segment, $minDatetimeArchiveProcessedUTC, $requestedPlugin)
     {
         $dateStart = $period->getDateStart();
         $bindSQL = array($site->getId(),
@@ -107,7 +109,7 @@ class Piwik_DataAccess_ArchiveSelector
         return array($visits, $visitsConverted);
     }
 
-    protected static function getMostRecentIdArchiveFromResults(Piwik_Segment $segment, $requestedPlugin, $results)
+    protected static function getMostRecentIdArchiveFromResults(Segment $segment, $requestedPlugin, $results)
     {
         $idArchive = false;
         $namesRequestedPlugin = Piwik_ArchiveProcessor_Rules::getDoneFlags(array($requestedPlugin), $segment);
@@ -127,7 +129,7 @@ class Piwik_DataAccess_ArchiveSelector
      *
      * @param array $siteIds
      * @param array $periods
-     * @param Piwik_Segment $segment
+     * @param Segment $segment
      * @param array $plugins List of plugin names for which data is being requested.
      * @return array Archive IDs are grouped by archive name and period range, ie,
      *               array(
@@ -160,7 +162,7 @@ class Piwik_DataAccess_ArchiveSelector
 
             // if looking for a range archive. NOTE: we assume there's only one period if its a range.
             $bind = array($firstPeriod->getId());
-            if ($firstPeriod instanceof Piwik_Period_Range) {
+            if ($firstPeriod instanceof Period_Range) {
                 $dateCondition = "date1 = ? AND date2 = ?";
                 $bind[] = $firstPeriod->getDateStart()->toString('Y-m-d');
                 $bind[] = $firstPeriod->getDateEnd()->toString('Y-m-d');
@@ -251,7 +253,7 @@ class Piwik_DataAccess_ArchiveSelector
      * this instance is querying for.
      *
      * @param array $plugins
-     * @param Piwik_Segment $segment
+     * @param Segment $segment
      * @return string
      */
     static private function getNameCondition(array $plugins, $segment)
diff --git a/core/DataAccess/ArchiveWriter.php b/core/DataAccess/ArchiveWriter.php
index bcd14e51c74501def5a1a57399e2c53edaa79a54..2c7841a19ce3c624ba9c3f9f92c6949761b869d3 100644
--- a/core/DataAccess/ArchiveWriter.php
+++ b/core/DataAccess/ArchiveWriter.php
@@ -12,6 +12,7 @@ use Piwik\Config;
 use Piwik\Period;
 use Piwik\Piwik;
 use Piwik\Common;
+use Piwik\Segment;
 
 /**
  * This class is used to create a new Archive.
@@ -31,7 +32,7 @@ class Piwik_DataAccess_ArchiveWriter
                               'name',
                               'value');
 
-    public function __construct($idSite, Piwik_Segment $segment, Period $period, $requestedPlugin, $isArchiveTemporary)
+    public function __construct($idSite, Segment $segment, Period $period, $requestedPlugin, $isArchiveTemporary)
     {
         $this->idArchive = false;
         $this->idSite = $idSite;
@@ -114,7 +115,7 @@ class Piwik_DataAccess_ArchiveWriter
         return self::makeLockName($this->idSite, $this->period, $this->segment);
     }
 
-    protected static function makeLockName($idsite, Period $period, Piwik_Segment $segment)
+    protected static function makeLockName($idsite, Period $period, Segment $segment)
     {
         $config = Config::getInstance();
 
diff --git a/core/DataAccess/LogAggregator.php b/core/DataAccess/LogAggregator.php
index 0d51091fc7e9d5969d61be429b15775b45d6e488..e21ff15b5e5bd0c58aad7b3461308182358b25ea 100644
--- a/core/DataAccess/LogAggregator.php
+++ b/core/DataAccess/LogAggregator.php
@@ -9,6 +9,8 @@
  * @package Piwik
  */
 use Piwik\Common;
+use Piwik\Metrics;
+use Piwik\Segment;
 use Piwik\Site;
 
 /**
@@ -54,10 +56,10 @@ class Piwik_DataAccess_LogAggregator
     /** @var \Piwik\Site */
     protected $site;
 
-    /** @var \Piwik_Segment */
+    /** @var \Piwik\Segment */
     protected $segment;
 
-    public function __construct(Piwik_Date $dateStart, Piwik_Date $dateEnd, Site $site, Piwik_Segment $segment)
+    public function __construct(Piwik_Date $dateStart, Piwik_Date $dateEnd, Site $site, Segment $segment)
     {
         $this->dateStart = $dateStart;
         $this->dateEnd = $dateEnd;
@@ -75,27 +77,27 @@ class Piwik_DataAccess_LogAggregator
     protected function getVisitsMetricFields()
     {
         return array(
-            Piwik_Metrics::INDEX_NB_UNIQ_VISITORS    => "count(distinct " . self::LOG_VISIT_TABLE . ".idvisitor)",
-            Piwik_Metrics::INDEX_NB_VISITS           => "count(*)",
-            Piwik_Metrics::INDEX_NB_ACTIONS          => "sum(" . self::LOG_VISIT_TABLE . ".visit_total_actions)",
-            Piwik_Metrics::INDEX_MAX_ACTIONS         => "max(" . self::LOG_VISIT_TABLE . ".visit_total_actions)",
-            Piwik_Metrics::INDEX_SUM_VISIT_LENGTH    => "sum(" . self::LOG_VISIT_TABLE . ".visit_total_time)",
-            Piwik_Metrics::INDEX_BOUNCE_COUNT        => "sum(case " . self::LOG_VISIT_TABLE . ".visit_total_actions when 1 then 1 when 0 then 1 else 0 end)",
-            Piwik_Metrics::INDEX_NB_VISITS_CONVERTED => "sum(case " . self::LOG_VISIT_TABLE . ".visit_goal_converted when 1 then 1 else 0 end)",
+            Metrics::INDEX_NB_UNIQ_VISITORS    => "count(distinct " . self::LOG_VISIT_TABLE . ".idvisitor)",
+            Metrics::INDEX_NB_VISITS           => "count(*)",
+            Metrics::INDEX_NB_ACTIONS          => "sum(" . self::LOG_VISIT_TABLE . ".visit_total_actions)",
+            Metrics::INDEX_MAX_ACTIONS         => "max(" . self::LOG_VISIT_TABLE . ".visit_total_actions)",
+            Metrics::INDEX_SUM_VISIT_LENGTH    => "sum(" . self::LOG_VISIT_TABLE . ".visit_total_time)",
+            Metrics::INDEX_BOUNCE_COUNT        => "sum(case " . self::LOG_VISIT_TABLE . ".visit_total_actions when 1 then 1 when 0 then 1 else 0 end)",
+            Metrics::INDEX_NB_VISITS_CONVERTED => "sum(case " . self::LOG_VISIT_TABLE . ".visit_goal_converted when 1 then 1 else 0 end)",
         );
     }
 
     static public function getConversionsMetricFields()
     {
         return array(
-            Piwik_Metrics::INDEX_GOAL_NB_CONVERSIONS             => "count(*)",
-            Piwik_Metrics::INDEX_GOAL_NB_VISITS_CONVERTED        => "count(distinct " . self::LOG_CONVERSION_TABLE . ".idvisit)",
-            Piwik_Metrics::INDEX_GOAL_REVENUE                    => self::getSqlConversionRevenueSum(self::TOTAL_REVENUE_FIELD),
-            Piwik_Metrics::INDEX_GOAL_ECOMMERCE_REVENUE_SUBTOTAL => self::getSqlConversionRevenueSum(self::REVENUE_SUBTOTAL_FIELD),
-            Piwik_Metrics::INDEX_GOAL_ECOMMERCE_REVENUE_TAX      => self::getSqlConversionRevenueSum(self::REVENUE_TAX_FIELD),
-            Piwik_Metrics::INDEX_GOAL_ECOMMERCE_REVENUE_SHIPPING => self::getSqlConversionRevenueSum(self::REVENUE_SHIPPING_FIELD),
-            Piwik_Metrics::INDEX_GOAL_ECOMMERCE_REVENUE_DISCOUNT => self::getSqlConversionRevenueSum(self::REVENUE_DISCOUNT_FIELD),
-            Piwik_Metrics::INDEX_GOAL_ECOMMERCE_ITEMS            => "SUM(" . self::LOG_CONVERSION_TABLE . "." . self::ITEMS_COUNT_FIELD . ")",
+            Metrics::INDEX_GOAL_NB_CONVERSIONS             => "count(*)",
+            Metrics::INDEX_GOAL_NB_VISITS_CONVERTED        => "count(distinct " . self::LOG_CONVERSION_TABLE . ".idvisit)",
+            Metrics::INDEX_GOAL_REVENUE                    => self::getSqlConversionRevenueSum(self::TOTAL_REVENUE_FIELD),
+            Metrics::INDEX_GOAL_ECOMMERCE_REVENUE_SUBTOTAL => self::getSqlConversionRevenueSum(self::REVENUE_SUBTOTAL_FIELD),
+            Metrics::INDEX_GOAL_ECOMMERCE_REVENUE_TAX      => self::getSqlConversionRevenueSum(self::REVENUE_TAX_FIELD),
+            Metrics::INDEX_GOAL_ECOMMERCE_REVENUE_SHIPPING => self::getSqlConversionRevenueSum(self::REVENUE_SHIPPING_FIELD),
+            Metrics::INDEX_GOAL_ECOMMERCE_REVENUE_DISCOUNT => self::getSqlConversionRevenueSum(self::REVENUE_DISCOUNT_FIELD),
+            Metrics::INDEX_GOAL_ECOMMERCE_ITEMS            => "SUM(" . self::LOG_CONVERSION_TABLE . "." . self::ITEMS_COUNT_FIELD . ")",
         );
     }
 
@@ -118,7 +120,7 @@ class Piwik_DataAccess_LogAggregator
      * @param bool|string $where Additional condition for WHERE clause
      * @param array $additionalSelects Additional SELECT clause
      * @param bool|array $metrics   Set this if you want to limit the columns that are returned.
-     *                                      The possible values in the array are Piwik_Metrics::INDEX_*.
+     *                                      The possible values in the array are Metrics::INDEX_*.
      * @param bool|Piwik_RankingQuery $rankingQuery
      *                                      A pre-configured ranking query instance that is used to limit the result.
      *                                      If set, the return value is the array returned by Piwik_RankingQuery::execute().
@@ -137,19 +139,19 @@ class Piwik_DataAccess_LogAggregator
         $orderBy = false;
 
         if ($rankingQuery) {
-            $orderBy = '`' . Piwik_Metrics::INDEX_NB_VISITS . '` DESC';
+            $orderBy = '`' . Metrics::INDEX_NB_VISITS . '` DESC';
         }
         $query = $this->generateQuery($select, $from, $where, $groupBy, $orderBy);
 
         if ($rankingQuery) {
-            unset($availableMetrics[Piwik_Metrics::INDEX_MAX_ACTIONS]);
+            unset($availableMetrics[Metrics::INDEX_MAX_ACTIONS]);
             $sumColumns = array_keys($availableMetrics);
             if ($metrics) {
                 $sumColumns = array_intersect($sumColumns, $metrics);
             }
             $rankingQuery->addColumn($sumColumns, 'sum');
-            if ($this->isMetricRequested(Piwik_Metrics::INDEX_MAX_ACTIONS, $metrics)) {
-                $rankingQuery->addColumn(Piwik_Metrics::INDEX_MAX_ACTIONS, 'max');
+            if ($this->isMetricRequested(Metrics::INDEX_MAX_ACTIONS, $metrics)) {
+                $rankingQuery->addColumn(Metrics::INDEX_MAX_ACTIONS, 'max');
             }
             return $rankingQuery->execute($query['sql'], $query['bind']);
         }
@@ -307,11 +309,11 @@ class Piwik_DataAccess_LogAggregator
     {
         $query = "SELECT
 						name as label,
-						" . self::getSqlRevenue('SUM(quantity * price)') . " as `" . Piwik_Metrics::INDEX_ECOMMERCE_ITEM_REVENUE . "`,
-						" . self::getSqlRevenue('SUM(quantity)') . " as `" . Piwik_Metrics::INDEX_ECOMMERCE_ITEM_QUANTITY . "`,
-						" . self::getSqlRevenue('SUM(price)') . " as `" . Piwik_Metrics::INDEX_ECOMMERCE_ITEM_PRICE . "`,
-						count(distinct idorder) as `" . Piwik_Metrics::INDEX_ECOMMERCE_ORDERS . "`,
-						count(idvisit) as `" . Piwik_Metrics::INDEX_NB_VISITS . "`,
+						" . self::getSqlRevenue('SUM(quantity * price)') . " as `" . Metrics::INDEX_ECOMMERCE_ITEM_REVENUE . "`,
+						" . self::getSqlRevenue('SUM(quantity)') . " as `" . Metrics::INDEX_ECOMMERCE_ITEM_QUANTITY . "`,
+						" . self::getSqlRevenue('SUM(price)') . " as `" . Metrics::INDEX_ECOMMERCE_ITEM_PRICE . "`,
+						count(distinct idorder) as `" . Metrics::INDEX_ECOMMERCE_ORDERS . "`,
+						count(idvisit) as `" . Metrics::INDEX_NB_VISITS . "`,
 						case idorder when '0' then " . Piwik_Tracker_GoalManager::IDGOAL_CART . " else " . Piwik_Tracker_GoalManager::IDGOAL_ORDER . " end as ecommerceType
 			 	FROM " . Common::prefixTable('log_conversion_item') . "
 			 		LEFT JOIN " . Common::prefixTable('log_action') . "
@@ -337,7 +339,7 @@ class Piwik_DataAccess_LogAggregator
      * @param string $where      where clause
      * @param array|bool $additionalSelects additional select clause
      * @param bool|array $metrics    Set this if you want to limit the columns that are returned.
-     *                                  The possible values in the array are Piwik_Metrics::INDEX_*.
+     *                                  The possible values in the array are Metrics::INDEX_*.
      * @param Piwik_RankingQuery $rankingQuery     pre-configured ranking query instance
      * @param bool|string $joinLogActionOnColumn  column from log_link_visit_action that
      *                                              log_action should be joined on.
@@ -378,7 +380,7 @@ class Piwik_DataAccess_LogAggregator
         }
 
         if ($rankingQuery) {
-            $orderBy = '`' . Piwik_Metrics::INDEX_NB_ACTIONS . '` DESC';
+            $orderBy = '`' . Metrics::INDEX_NB_ACTIONS . '` DESC';
         }
 
         $query = $this->generateQuery($select, $from, $where, $groupBy, $orderBy);
@@ -398,9 +400,9 @@ class Piwik_DataAccess_LogAggregator
     protected function getActionsMetricFields()
     {
         return $availableMetrics = array(
-            Piwik_Metrics::INDEX_NB_VISITS        => "count(distinct " . self::LOG_ACTIONS_TABLE . ".idvisit)",
-            Piwik_Metrics::INDEX_NB_UNIQ_VISITORS => "count(distinct " . self::LOG_ACTIONS_TABLE . ".idvisitor)",
-            Piwik_Metrics::INDEX_NB_ACTIONS       => "count(*)",
+            Metrics::INDEX_NB_VISITS        => "count(distinct " . self::LOG_ACTIONS_TABLE . ".idvisit)",
+            Metrics::INDEX_NB_UNIQ_VISITORS => "count(distinct " . self::LOG_ACTIONS_TABLE . ".idvisitor)",
+            Metrics::INDEX_NB_ACTIONS       => "count(*)",
         );
     }
 
diff --git a/core/DataArray.php b/core/DataArray.php
index 6a4339b2f6a328014c0e8480d594ba41232b9996..58d9d159f4aab6278896bd9585e9d29e8aa6e9a4 100644
--- a/core/DataArray.php
+++ b/core/DataArray.php
@@ -8,6 +8,7 @@
  * @category Piwik
  * @package Piwik
  */
+use Piwik\Metrics;
 
 /**
  * The DataArray is a data structure used to aggregate datasets,
@@ -57,13 +58,13 @@ class Piwik_DataArray
      */
     static public function makeEmptyRow()
     {
-        return array(Piwik_Metrics::INDEX_NB_UNIQ_VISITORS    => 0,
-                     Piwik_Metrics::INDEX_NB_VISITS           => 0,
-                     Piwik_Metrics::INDEX_NB_ACTIONS          => 0,
-                     Piwik_Metrics::INDEX_MAX_ACTIONS         => 0,
-                     Piwik_Metrics::INDEX_SUM_VISIT_LENGTH    => 0,
-                     Piwik_Metrics::INDEX_BOUNCE_COUNT        => 0,
-                     Piwik_Metrics::INDEX_NB_VISITS_CONVERTED => 0,
+        return array(Metrics::INDEX_NB_UNIQ_VISITORS    => 0,
+                     Metrics::INDEX_NB_VISITS           => 0,
+                     Metrics::INDEX_NB_ACTIONS          => 0,
+                     Metrics::INDEX_MAX_ACTIONS         => 0,
+                     Metrics::INDEX_SUM_VISIT_LENGTH    => 0,
+                     Metrics::INDEX_BOUNCE_COUNT        => 0,
+                     Metrics::INDEX_NB_VISITS_CONVERTED => 0,
         );
     }
 
@@ -81,40 +82,40 @@ class Piwik_DataArray
     {
         // Pre 1.2 format: string indexed rows are returned from the DB
         // Left here for Backward compatibility with plugins doing custom SQL queries using these metrics as string
-        if (!isset($newRowToAdd[Piwik_Metrics::INDEX_NB_VISITS])) {
-            $oldRowToUpdate[Piwik_Metrics::INDEX_NB_VISITS] += $newRowToAdd['nb_visits'];
-            $oldRowToUpdate[Piwik_Metrics::INDEX_NB_ACTIONS] += $newRowToAdd['nb_actions'];
-            $oldRowToUpdate[Piwik_Metrics::INDEX_NB_UNIQ_VISITORS] += $newRowToAdd['nb_uniq_visitors'];
+        if (!isset($newRowToAdd[Metrics::INDEX_NB_VISITS])) {
+            $oldRowToUpdate[Metrics::INDEX_NB_VISITS] += $newRowToAdd['nb_visits'];
+            $oldRowToUpdate[Metrics::INDEX_NB_ACTIONS] += $newRowToAdd['nb_actions'];
+            $oldRowToUpdate[Metrics::INDEX_NB_UNIQ_VISITORS] += $newRowToAdd['nb_uniq_visitors'];
             if ($onlyMetricsAvailableInActionsTable) {
                 return;
             }
-            $oldRowToUpdate[Piwik_Metrics::INDEX_MAX_ACTIONS] = (float)max($newRowToAdd['max_actions'], $oldRowToUpdate[Piwik_Metrics::INDEX_MAX_ACTIONS]);
-            $oldRowToUpdate[Piwik_Metrics::INDEX_SUM_VISIT_LENGTH] += $newRowToAdd['sum_visit_length'];
-            $oldRowToUpdate[Piwik_Metrics::INDEX_BOUNCE_COUNT] += $newRowToAdd['bounce_count'];
-            $oldRowToUpdate[Piwik_Metrics::INDEX_NB_VISITS_CONVERTED] += $newRowToAdd['nb_visits_converted'];
+            $oldRowToUpdate[Metrics::INDEX_MAX_ACTIONS] = (float)max($newRowToAdd['max_actions'], $oldRowToUpdate[Metrics::INDEX_MAX_ACTIONS]);
+            $oldRowToUpdate[Metrics::INDEX_SUM_VISIT_LENGTH] += $newRowToAdd['sum_visit_length'];
+            $oldRowToUpdate[Metrics::INDEX_BOUNCE_COUNT] += $newRowToAdd['bounce_count'];
+            $oldRowToUpdate[Metrics::INDEX_NB_VISITS_CONVERTED] += $newRowToAdd['nb_visits_converted'];
             return;
         }
 
-        $oldRowToUpdate[Piwik_Metrics::INDEX_NB_VISITS] += $newRowToAdd[Piwik_Metrics::INDEX_NB_VISITS];
-        $oldRowToUpdate[Piwik_Metrics::INDEX_NB_ACTIONS] += $newRowToAdd[Piwik_Metrics::INDEX_NB_ACTIONS];
-        $oldRowToUpdate[Piwik_Metrics::INDEX_NB_UNIQ_VISITORS] += $newRowToAdd[Piwik_Metrics::INDEX_NB_UNIQ_VISITORS];
+        $oldRowToUpdate[Metrics::INDEX_NB_VISITS] += $newRowToAdd[Metrics::INDEX_NB_VISITS];
+        $oldRowToUpdate[Metrics::INDEX_NB_ACTIONS] += $newRowToAdd[Metrics::INDEX_NB_ACTIONS];
+        $oldRowToUpdate[Metrics::INDEX_NB_UNIQ_VISITORS] += $newRowToAdd[Metrics::INDEX_NB_UNIQ_VISITORS];
         if ($onlyMetricsAvailableInActionsTable) {
             return;
         }
 
-        $oldRowToUpdate[Piwik_Metrics::INDEX_MAX_ACTIONS] = (float)max($newRowToAdd[Piwik_Metrics::INDEX_MAX_ACTIONS], $oldRowToUpdate[Piwik_Metrics::INDEX_MAX_ACTIONS]);
-        $oldRowToUpdate[Piwik_Metrics::INDEX_SUM_VISIT_LENGTH] += $newRowToAdd[Piwik_Metrics::INDEX_SUM_VISIT_LENGTH];
-        $oldRowToUpdate[Piwik_Metrics::INDEX_BOUNCE_COUNT] += $newRowToAdd[Piwik_Metrics::INDEX_BOUNCE_COUNT];
-        $oldRowToUpdate[Piwik_Metrics::INDEX_NB_VISITS_CONVERTED] += $newRowToAdd[Piwik_Metrics::INDEX_NB_VISITS_CONVERTED];
+        $oldRowToUpdate[Metrics::INDEX_MAX_ACTIONS] = (float)max($newRowToAdd[Metrics::INDEX_MAX_ACTIONS], $oldRowToUpdate[Metrics::INDEX_MAX_ACTIONS]);
+        $oldRowToUpdate[Metrics::INDEX_SUM_VISIT_LENGTH] += $newRowToAdd[Metrics::INDEX_SUM_VISIT_LENGTH];
+        $oldRowToUpdate[Metrics::INDEX_BOUNCE_COUNT] += $newRowToAdd[Metrics::INDEX_BOUNCE_COUNT];
+        $oldRowToUpdate[Metrics::INDEX_NB_VISITS_CONVERTED] += $newRowToAdd[Metrics::INDEX_NB_VISITS_CONVERTED];
     }
 
     public function sumMetricsGoals($label, $row)
     {
         $idGoal = $row['idgoal'];
-        if (!isset($this->data[$label][Piwik_Metrics::INDEX_GOALS][$idGoal])) {
-            $this->data[$label][Piwik_Metrics::INDEX_GOALS][$idGoal] = self::makeEmptyGoalRow($idGoal);
+        if (!isset($this->data[$label][Metrics::INDEX_GOALS][$idGoal])) {
+            $this->data[$label][Metrics::INDEX_GOALS][$idGoal] = self::makeEmptyGoalRow($idGoal);
         }
-        $this->doSumGoalsMetrics($row, $this->data[$label][Piwik_Metrics::INDEX_GOALS][$idGoal]);
+        $this->doSumGoalsMetrics($row, $this->data[$label][Metrics::INDEX_GOALS][$idGoal]);
     }
 
     /**
@@ -124,27 +125,27 @@ class Piwik_DataArray
     protected static function makeEmptyGoalRow($idGoal)
     {
         if ($idGoal > Piwik_Tracker_GoalManager::IDGOAL_ORDER) {
-            return array(Piwik_Metrics::INDEX_GOAL_NB_CONVERSIONS      => 0,
-                         Piwik_Metrics::INDEX_GOAL_NB_VISITS_CONVERTED => 0,
-                         Piwik_Metrics::INDEX_GOAL_REVENUE             => 0,
+            return array(Metrics::INDEX_GOAL_NB_CONVERSIONS      => 0,
+                         Metrics::INDEX_GOAL_NB_VISITS_CONVERTED => 0,
+                         Metrics::INDEX_GOAL_REVENUE             => 0,
             );
         }
         if ($idGoal == Piwik_Tracker_GoalManager::IDGOAL_ORDER) {
-            return array(Piwik_Metrics::INDEX_GOAL_NB_CONVERSIONS             => 0,
-                         Piwik_Metrics::INDEX_GOAL_NB_VISITS_CONVERTED        => 0,
-                         Piwik_Metrics::INDEX_GOAL_REVENUE                    => 0,
-                         Piwik_Metrics::INDEX_GOAL_ECOMMERCE_REVENUE_SUBTOTAL => 0,
-                         Piwik_Metrics::INDEX_GOAL_ECOMMERCE_REVENUE_TAX      => 0,
-                         Piwik_Metrics::INDEX_GOAL_ECOMMERCE_REVENUE_SHIPPING => 0,
-                         Piwik_Metrics::INDEX_GOAL_ECOMMERCE_REVENUE_DISCOUNT => 0,
-                         Piwik_Metrics::INDEX_GOAL_ECOMMERCE_ITEMS            => 0,
+            return array(Metrics::INDEX_GOAL_NB_CONVERSIONS             => 0,
+                         Metrics::INDEX_GOAL_NB_VISITS_CONVERTED        => 0,
+                         Metrics::INDEX_GOAL_REVENUE                    => 0,
+                         Metrics::INDEX_GOAL_ECOMMERCE_REVENUE_SUBTOTAL => 0,
+                         Metrics::INDEX_GOAL_ECOMMERCE_REVENUE_TAX      => 0,
+                         Metrics::INDEX_GOAL_ECOMMERCE_REVENUE_SHIPPING => 0,
+                         Metrics::INDEX_GOAL_ECOMMERCE_REVENUE_DISCOUNT => 0,
+                         Metrics::INDEX_GOAL_ECOMMERCE_ITEMS            => 0,
             );
         }
         // idGoal == Piwik_Tracker_GoalManager::IDGOAL_CART
-        return array(Piwik_Metrics::INDEX_GOAL_NB_CONVERSIONS      => 0,
-                     Piwik_Metrics::INDEX_GOAL_NB_VISITS_CONVERTED => 0,
-                     Piwik_Metrics::INDEX_GOAL_REVENUE             => 0,
-                     Piwik_Metrics::INDEX_GOAL_ECOMMERCE_ITEMS     => 0,
+        return array(Metrics::INDEX_GOAL_NB_CONVERSIONS      => 0,
+                     Metrics::INDEX_GOAL_NB_VISITS_CONVERTED => 0,
+                     Metrics::INDEX_GOAL_REVENUE             => 0,
+                     Metrics::INDEX_GOAL_ECOMMERCE_ITEMS     => 0,
         );
     }
 
@@ -155,20 +156,20 @@ class Piwik_DataArray
      */
     protected function doSumGoalsMetrics($newRowToAdd, &$oldRowToUpdate)
     {
-        $oldRowToUpdate[Piwik_Metrics::INDEX_GOAL_NB_CONVERSIONS] += $newRowToAdd[Piwik_Metrics::INDEX_GOAL_NB_CONVERSIONS];
-        $oldRowToUpdate[Piwik_Metrics::INDEX_GOAL_NB_VISITS_CONVERTED] += $newRowToAdd[Piwik_Metrics::INDEX_GOAL_NB_VISITS_CONVERTED];
-        $oldRowToUpdate[Piwik_Metrics::INDEX_GOAL_REVENUE] += $newRowToAdd[Piwik_Metrics::INDEX_GOAL_REVENUE];
+        $oldRowToUpdate[Metrics::INDEX_GOAL_NB_CONVERSIONS] += $newRowToAdd[Metrics::INDEX_GOAL_NB_CONVERSIONS];
+        $oldRowToUpdate[Metrics::INDEX_GOAL_NB_VISITS_CONVERTED] += $newRowToAdd[Metrics::INDEX_GOAL_NB_VISITS_CONVERTED];
+        $oldRowToUpdate[Metrics::INDEX_GOAL_REVENUE] += $newRowToAdd[Metrics::INDEX_GOAL_REVENUE];
 
         // Cart & Order
-        if (isset($oldRowToUpdate[Piwik_Metrics::INDEX_GOAL_ECOMMERCE_ITEMS])) {
-            $oldRowToUpdate[Piwik_Metrics::INDEX_GOAL_ECOMMERCE_ITEMS] += $newRowToAdd[Piwik_Metrics::INDEX_GOAL_ECOMMERCE_ITEMS];
+        if (isset($oldRowToUpdate[Metrics::INDEX_GOAL_ECOMMERCE_ITEMS])) {
+            $oldRowToUpdate[Metrics::INDEX_GOAL_ECOMMERCE_ITEMS] += $newRowToAdd[Metrics::INDEX_GOAL_ECOMMERCE_ITEMS];
 
             // Order only
-            if (isset($oldRowToUpdate[Piwik_Metrics::INDEX_GOAL_ECOMMERCE_REVENUE_SUBTOTAL])) {
-                $oldRowToUpdate[Piwik_Metrics::INDEX_GOAL_ECOMMERCE_REVENUE_SUBTOTAL] += $newRowToAdd[Piwik_Metrics::INDEX_GOAL_ECOMMERCE_REVENUE_SUBTOTAL];
-                $oldRowToUpdate[Piwik_Metrics::INDEX_GOAL_ECOMMERCE_REVENUE_TAX] += $newRowToAdd[Piwik_Metrics::INDEX_GOAL_ECOMMERCE_REVENUE_TAX];
-                $oldRowToUpdate[Piwik_Metrics::INDEX_GOAL_ECOMMERCE_REVENUE_SHIPPING] += $newRowToAdd[Piwik_Metrics::INDEX_GOAL_ECOMMERCE_REVENUE_SHIPPING];
-                $oldRowToUpdate[Piwik_Metrics::INDEX_GOAL_ECOMMERCE_REVENUE_DISCOUNT] += $newRowToAdd[Piwik_Metrics::INDEX_GOAL_ECOMMERCE_REVENUE_DISCOUNT];
+            if (isset($oldRowToUpdate[Metrics::INDEX_GOAL_ECOMMERCE_REVENUE_SUBTOTAL])) {
+                $oldRowToUpdate[Metrics::INDEX_GOAL_ECOMMERCE_REVENUE_SUBTOTAL] += $newRowToAdd[Metrics::INDEX_GOAL_ECOMMERCE_REVENUE_SUBTOTAL];
+                $oldRowToUpdate[Metrics::INDEX_GOAL_ECOMMERCE_REVENUE_TAX] += $newRowToAdd[Metrics::INDEX_GOAL_ECOMMERCE_REVENUE_TAX];
+                $oldRowToUpdate[Metrics::INDEX_GOAL_ECOMMERCE_REVENUE_SHIPPING] += $newRowToAdd[Metrics::INDEX_GOAL_ECOMMERCE_REVENUE_SHIPPING];
+                $oldRowToUpdate[Metrics::INDEX_GOAL_ECOMMERCE_REVENUE_DISCOUNT] += $newRowToAdd[Metrics::INDEX_GOAL_ECOMMERCE_REVENUE_DISCOUNT];
             }
         }
     }
@@ -184,9 +185,9 @@ class Piwik_DataArray
     static protected function makeEmptyActionRow()
     {
         return array(
-            Piwik_Metrics::INDEX_NB_UNIQ_VISITORS => 0,
-            Piwik_Metrics::INDEX_NB_VISITS        => 0,
-            Piwik_Metrics::INDEX_NB_ACTIONS       => 0,
+            Metrics::INDEX_NB_UNIQ_VISITORS => 0,
+            Metrics::INDEX_NB_VISITS        => 0,
+            Metrics::INDEX_NB_ACTIONS       => 0,
         );
     }
 
@@ -224,10 +225,10 @@ class Piwik_DataArray
     public function sumMetricsGoalsPivot($parentLabel, $label, $row)
     {
         $idGoal = $row['idgoal'];
-        if (!isset($this->dataTwoLevels[$parentLabel][$label][Piwik_Metrics::INDEX_GOALS][$idGoal])) {
-            $this->dataTwoLevels[$parentLabel][$label][Piwik_Metrics::INDEX_GOALS][$idGoal] = self::makeEmptyGoalRow($idGoal);
+        if (!isset($this->dataTwoLevels[$parentLabel][$label][Metrics::INDEX_GOALS][$idGoal])) {
+            $this->dataTwoLevels[$parentLabel][$label][Metrics::INDEX_GOALS][$idGoal] = self::makeEmptyGoalRow($idGoal);
         }
-        $this->doSumGoalsMetrics($row, $this->dataTwoLevels[$parentLabel][$label][Piwik_Metrics::INDEX_GOALS][$idGoal]);
+        $this->doSumGoalsMetrics($row, $this->dataTwoLevels[$parentLabel][$label][Metrics::INDEX_GOALS][$idGoal]);
     }
 
     public function sumMetricsActionsPivot($parentLabel, $label, $row)
@@ -262,27 +263,27 @@ class Piwik_DataArray
     protected function enrichWithConversions(&$data)
     {
         foreach ($data as $label => &$values) {
-            if (!isset($values[Piwik_Metrics::INDEX_GOALS])) {
+            if (!isset($values[Metrics::INDEX_GOALS])) {
                 continue;
             }
             // When per goal metrics are processed, general 'visits converted' is not meaningful because
             // it could differ from the sum of each goal conversions
-            unset($values[Piwik_Metrics::INDEX_NB_VISITS_CONVERTED]);
+            unset($values[Metrics::INDEX_NB_VISITS_CONVERTED]);
             $revenue = $conversions = 0;
-            foreach ($values[Piwik_Metrics::INDEX_GOALS] as $idgoal => $goalValues) {
+            foreach ($values[Metrics::INDEX_GOALS] as $idgoal => $goalValues) {
                 // Do not sum Cart revenue since it is a lost revenue
                 if ($idgoal >= Piwik_Tracker_GoalManager::IDGOAL_ORDER) {
-                    $revenue += $goalValues[Piwik_Metrics::INDEX_GOAL_REVENUE];
-                    $conversions += $goalValues[Piwik_Metrics::INDEX_GOAL_NB_CONVERSIONS];
+                    $revenue += $goalValues[Metrics::INDEX_GOAL_REVENUE];
+                    $conversions += $goalValues[Metrics::INDEX_GOAL_NB_CONVERSIONS];
                 }
             }
-            $values[Piwik_Metrics::INDEX_NB_CONVERSIONS] = $conversions;
+            $values[Metrics::INDEX_NB_CONVERSIONS] = $conversions;
 
             // 25.00 recorded as 25
             if (round($revenue) == $revenue) {
                 $revenue = round($revenue);
             }
-            $values[Piwik_Metrics::INDEX_REVENUE] = $revenue;
+            $values[Metrics::INDEX_REVENUE] = $revenue;
         }
     }
 
@@ -294,6 +295,6 @@ class Piwik_DataArray
      */
     static public function isRowActions($row)
     {
-        return (count($row) == count(self::makeEmptyActionRow())) && isset($row[Piwik_Metrics::INDEX_NB_ACTIONS]);
+        return (count($row) == count(self::makeEmptyActionRow())) && isset($row[Metrics::INDEX_NB_ACTIONS]);
     }
 }
\ No newline at end of file
diff --git a/core/DataTable/Filter/AddColumnsProcessedMetrics.php b/core/DataTable/Filter/AddColumnsProcessedMetrics.php
index f1b8cf2ff4ddc9bf0df06b056ba1691422b6e0b1..73baf7aaa91bc652228478c4ed52084eca044364 100644
--- a/core/DataTable/Filter/AddColumnsProcessedMetrics.php
+++ b/core/DataTable/Filter/AddColumnsProcessedMetrics.php
@@ -8,6 +8,7 @@
  * @category Piwik
  * @package Piwik
  */
+use Piwik\Metrics;
 
 /**
  * @package Piwik
@@ -39,8 +40,8 @@ class Piwik_DataTable_Filter_AddColumnsProcessedMetrics extends Piwik_DataTable_
     {
         $rowsIdToDelete = array();
         foreach ($table->getRows() as $key => $row) {
-            $nbVisits = $this->getColumn($row, Piwik_Metrics::INDEX_NB_VISITS);
-            $nbActions = $this->getColumn($row, Piwik_Metrics::INDEX_NB_ACTIONS);
+            $nbVisits = $this->getColumn($row, Metrics::INDEX_NB_VISITS);
+            $nbActions = $this->getColumn($row, Metrics::INDEX_NB_ACTIONS);
             if ($nbVisits == 0
                 && $nbActions == 0
                 && $this->deleteRowsWithNoVisit
@@ -51,7 +52,7 @@ class Piwik_DataTable_Filter_AddColumnsProcessedMetrics extends Piwik_DataTable_
                 continue;
             }
 
-            $nbVisitsConverted = (int)$this->getColumn($row, Piwik_Metrics::INDEX_NB_VISITS_CONVERTED);
+            $nbVisitsConverted = (int)$this->getColumn($row, Metrics::INDEX_NB_VISITS_CONVERTED);
             if ($nbVisitsConverted > 0) {
                 $conversionRate = round(100 * $nbVisitsConverted / $nbVisits, $this->roundPrecision);
                 try {
@@ -68,9 +69,9 @@ class Piwik_DataTable_Filter_AddColumnsProcessedMetrics extends Piwik_DataTable_
                 // sum_visit_length / nb_visits => Avg. Time on Site
                 // bounce_count / nb_visits => Bounce Rate
                 $actionsPerVisit = round($nbActions / $nbVisits, $this->roundPrecision);
-                $visitLength = $this->getColumn($row, Piwik_Metrics::INDEX_SUM_VISIT_LENGTH);
+                $visitLength = $this->getColumn($row, Metrics::INDEX_SUM_VISIT_LENGTH);
                 $averageTimeOnSite = round($visitLength / $nbVisits, $rounding = 0);
-                $bounceRate = round(100 * $this->getColumn($row, Piwik_Metrics::INDEX_BOUNCE_COUNT) / $nbVisits, $this->roundPrecision);
+                $bounceRate = round(100 * $this->getColumn($row, Metrics::INDEX_BOUNCE_COUNT) / $nbVisits, $this->roundPrecision);
             }
             try {
                 $row->addColumn('nb_actions_per_visit', $actionsPerVisit);
@@ -104,7 +105,7 @@ class Piwik_DataTable_Filter_AddColumnsProcessedMetrics extends Piwik_DataTable_
     protected function getColumn($row, $columnIdRaw, $mappingIdToName = false)
     {
         if (empty($mappingIdToName)) {
-            $mappingIdToName = Piwik_Metrics::$mappingFromIdToName;
+            $mappingIdToName = Metrics::$mappingFromIdToName;
         }
         $columnIdReadable = $mappingIdToName[$columnIdRaw];
         if ($row instanceof Piwik_DataTable_Row) {
diff --git a/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php b/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php
index 21468628f6073bd0a539c1cd6b87827efb9abfe3..99d822bbd069e08e1629f0a6583a60e342d73784 100644
--- a/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php
+++ b/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php
@@ -8,6 +8,7 @@
  * @category Piwik
  * @package Piwik
  */
+use Piwik\Metrics;
 use Piwik\Piwik;
 
 /**
@@ -73,9 +74,9 @@ class Piwik_DataTable_Filter_AddColumnsProcessedMetricsGoal extends Piwik_DataTa
             $newColumns = array();
 
             // visits could be undefined when there is a conversion but no visit
-            $nbVisits = (int)$this->getColumn($row, Piwik_Metrics::INDEX_NB_VISITS);
-            $conversions = (int)$this->getColumn($row, Piwik_Metrics::INDEX_NB_CONVERSIONS);
-            $goals = $this->getColumn($currentColumns, Piwik_Metrics::INDEX_GOALS);
+            $nbVisits = (int)$this->getColumn($row, Metrics::INDEX_NB_VISITS);
+            $conversions = (int)$this->getColumn($row, Metrics::INDEX_NB_CONVERSIONS);
+            $goals = $this->getColumn($currentColumns, Metrics::INDEX_GOALS);
             if ($goals) {
                 $revenue = 0;
                 foreach ($goals as $goalId => $columnValue) {
@@ -85,12 +86,12 @@ class Piwik_DataTable_Filter_AddColumnsProcessedMetricsGoal extends Piwik_DataTa
                     if ($goalId >= Piwik_Tracker_GoalManager::IDGOAL_ORDER
                         || $goalId == Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER
                     ) {
-                        $revenue += (int)$this->getColumn($columnValue, Piwik_Metrics::INDEX_GOAL_REVENUE, Piwik_Metrics::$mappingFromIdToNameGoal);
+                        $revenue += (int)$this->getColumn($columnValue, Metrics::INDEX_GOAL_REVENUE, Metrics::$mappingFromIdToNameGoal);
                     }
                 }
 
                 if ($revenue == 0) {
-                    $revenue = (int)$this->getColumn($currentColumns, Piwik_Metrics::INDEX_REVENUE);
+                    $revenue = (int)$this->getColumn($currentColumns, Metrics::INDEX_REVENUE);
                 }
                 if (!isset($currentColumns['revenue_per_visit'])) {
                     // If no visit for this metric, but some conversions, we still want to display some kind of "revenue per visit"
@@ -119,7 +120,7 @@ class Piwik_DataTable_Filter_AddColumnsProcessedMetricsGoal extends Piwik_DataTa
                     ) {
                         continue;
                     }
-                    $conversions = (int)$this->getColumn($columnValue, Piwik_Metrics::INDEX_GOAL_NB_CONVERSIONS, Piwik_Metrics::$mappingFromIdToNameGoal);
+                    $conversions = (int)$this->getColumn($columnValue, Metrics::INDEX_GOAL_NB_CONVERSIONS, Metrics::$mappingFromIdToNameGoal);
 
                     // Goal Conversion rate
                     $name = 'goal_' . $goalId . '_conversion_rate';
@@ -145,7 +146,7 @@ class Piwik_DataTable_Filter_AddColumnsProcessedMetricsGoal extends Piwik_DataTa
                     // Goal Revenue per visit
                     $name = 'goal_' . $goalId . '_revenue_per_visit';
                     // See comment above for $revenuePerVisit
-                    $goalRevenue = (float)$this->getColumn($columnValue, Piwik_Metrics::INDEX_GOAL_REVENUE, Piwik_Metrics::$mappingFromIdToNameGoal);
+                    $goalRevenue = (float)$this->getColumn($columnValue, Metrics::INDEX_GOAL_REVENUE, Metrics::$mappingFromIdToNameGoal);
                     $revenuePerVisit = round($goalRevenue / ($nbVisits == 0 ? $conversions : $nbVisits), $roundingPrecision);
                     $newColumns[$name] = $revenuePerVisit;
                     $expectedColumns[$name] = true;
@@ -164,7 +165,7 @@ class Piwik_DataTable_Filter_AddColumnsProcessedMetricsGoal extends Piwik_DataTa
 
                         // Items qty
                         $name = 'goal_' . $goalId . '_items';
-                        $newColumns[$name] = $this->getColumn($columnValue, Piwik_Metrics::INDEX_GOAL_ECOMMERCE_ITEMS, Piwik_Metrics::$mappingFromIdToNameGoal);
+                        $newColumns[$name] = $this->getColumn($columnValue, Metrics::INDEX_GOAL_ECOMMERCE_ITEMS, Metrics::$mappingFromIdToNameGoal);
                         $expectedColumns[$name] = true;
                     }
                 }
diff --git a/core/DataTable/Filter/ReplaceColumnNames.php b/core/DataTable/Filter/ReplaceColumnNames.php
index f0255a8086f5d500c2d2b550fa45f1760d386c14..c2b2beca79cb6442e8a2e573392c8458b21a3a4c 100644
--- a/core/DataTable/Filter/ReplaceColumnNames.php
+++ b/core/DataTable/Filter/ReplaceColumnNames.php
@@ -8,6 +8,7 @@
  * @category Piwik
  * @package Piwik
  */
+use Piwik\Metrics;
 use Piwik\Piwik;
 
 /**
@@ -39,7 +40,7 @@ class Piwik_DataTable_Filter_ReplaceColumnNames extends Piwik_DataTable_Filter
     public function __construct($table, $mappingToApply = null)
     {
         parent::__construct($table);
-        $this->mappingToApply = Piwik_Metrics::$mappingFromIdToName;
+        $this->mappingToApply = Metrics::$mappingFromIdToName;
         if (!is_null($mappingToApply)) {
             $this->mappingToApply = $mappingToApply;
         }
@@ -132,7 +133,7 @@ class Piwik_DataTable_Filter_ReplaceColumnNames extends Piwik_DataTable_Filter
     {
         $newSubColumns = array();
         foreach ($columnValue as $idGoal => $goalValues) {
-            $mapping = Piwik_Metrics::$mappingFromIdToNameGoal;
+            $mapping = Metrics::$mappingFromIdToNameGoal;
             if ($idGoal == Piwik_Tracker_GoalManager::IDGOAL_CART) {
                 $idGoal = Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_CART;
             } elseif ($idGoal == Piwik_Tracker_GoalManager::IDGOAL_ORDER) {
diff --git a/core/DataTable/Filter/Sort.php b/core/DataTable/Filter/Sort.php
index b9eaea0f54a116d6b3fa4e8affbe0d5a1fb66171..014362b45d386278e60dabec95b62cb676c27b44 100644
--- a/core/DataTable/Filter/Sort.php
+++ b/core/DataTable/Filter/Sort.php
@@ -8,6 +8,7 @@
  * @category Piwik
  * @package Piwik
  */
+use Piwik\Metrics;
 
 /**
  * Sort the DataTable based on the value of column $columnToSort ordered by $order.
@@ -151,8 +152,8 @@ class Piwik_DataTable_Filter_Sort extends Piwik_DataTable_Filter
             return $this->columnToSort;
         }
 
-        $columnIdToName = Piwik_Metrics::getMappingFromIdToName();
-        // sorting by "nb_visits" but the index is Piwik_Metrics::INDEX_NB_VISITS in the table
+        $columnIdToName = Metrics::getMappingFromIdToName();
+        // sorting by "nb_visits" but the index is Metrics::INDEX_NB_VISITS in the table
         if (isset($columnIdToName[$this->columnToSort])) {
             $column = $columnIdToName[$this->columnToSort];
             $value = $row->getColumn($column);
@@ -164,7 +165,7 @@ class Piwik_DataTable_Filter_Sort extends Piwik_DataTable_Filter
 
         // eg. was previously sorted by revenue_per_visit, but this table
         // doesn't have this column; defaults with nb_visits
-        $column = Piwik_Metrics::INDEX_NB_VISITS;
+        $column = Metrics::INDEX_NB_VISITS;
         $value = $row->getColumn($column);
         if ($value !== false) {
             return $column;
diff --git a/core/DataTable/Renderer.php b/core/DataTable/Renderer.php
index c8f353a64e0292788b540501dc8cd47c8a36310d..68fcf88fe502de90acec4982f904a25e439a979d 100644
--- a/core/DataTable/Renderer.php
+++ b/core/DataTable/Renderer.php
@@ -8,6 +8,7 @@
  * @category Piwik
  * @package Piwik
  */
+use Piwik\Metrics;
 use Piwik\Piwik;
 
 /**
@@ -265,7 +266,7 @@ abstract class Piwik_DataTable_Renderer
                 return $names;
             }
 
-            $t = Piwik_Metrics::getDefaultMetricTranslations();
+            $t = Metrics::getDefaultMetricTranslations();
             foreach (array('metrics', 'processedMetrics', 'metricsGoal', 'processedMetricsGoal') as $index) {
                 if (isset($meta[$index]) && is_array($meta[$index])) {
                     $t = array_merge($t, $meta[$index]);
diff --git a/core/DataTable/Renderer/Csv.php b/core/DataTable/Renderer/Csv.php
index 77d282f65900fb480a986779eaf588781c6a4308..9b2f5505d6e73475d665b95271f1cf8e99a8fb6a 100644
--- a/core/DataTable/Renderer/Csv.php
+++ b/core/DataTable/Renderer/Csv.php
@@ -9,6 +9,7 @@
  * @package Piwik
  */
 use Piwik\Period;
+use Piwik\Period_Range;
 use Piwik\Piwik;
 use Piwik\Common;
 
@@ -351,9 +352,9 @@ class Piwik_DataTable_Renderer_Csv extends Piwik_DataTable_Renderer
         if ($period || $date) // in test cases, there are no request params set
         {
             if ($period == 'range') {
-                $period = new Piwik_Period_Range($period, $date);
+                $period = new Period_Range($period, $date);
             } else if (strpos($date, ',') !== false) {
-                $period = new Piwik_Period_Range('range', $date);
+                $period = new Period_Range('range', $date);
             } else {
                 $period = Period::factory($period, Piwik_Date::factory($date));
             }
diff --git a/core/DataTable/Row.php b/core/DataTable/Row.php
index de1b38ae9d22c27e30f8caca4e8521eff803cac2..4b2b42a695a0d083df4798cbe92ffb4f3dd4d464 100644
--- a/core/DataTable/Row.php
+++ b/core/DataTable/Row.php
@@ -8,6 +8,7 @@
  * @category Piwik
  * @package Piwik
  */
+use Piwik\Metrics;
 
 /**
  * A DataTable is composed of rows.
@@ -473,7 +474,7 @@ class Piwik_DataTable_Row
                 
                 // max_actions is a core metric that is generated in ArchiveProcess_Day. Therefore, it can be
                 // present in any data table and is not part of the $aggregationOperations mechanism.
-                if ($columnToSumName == Piwik_Metrics::INDEX_MAX_ACTIONS) {
+                if ($columnToSumName == Metrics::INDEX_MAX_ACTIONS) {
                     $operation = 'max';
                 }
                 $newValue = $this->getColumnValuesMerged($operation, $thisColumnValue, $columnToSumValue);
@@ -521,7 +522,7 @@ class Piwik_DataTable_Row
             && !$this->isSummaryRow()
         ) {
             // We shall update metadata, and keep the metadata with the _most visits or pageviews_, rather than first or last seen
-            $visits = max($rowToSum->getColumn(Piwik_Metrics::INDEX_PAGE_NB_HITS) || $rowToSum->getColumn(Piwik_Metrics::INDEX_NB_VISITS),
+            $visits = max($rowToSum->getColumn(Metrics::INDEX_PAGE_NB_HITS) || $rowToSum->getColumn(Metrics::INDEX_NB_VISITS),
                 // Old format pre-1.2, @see also method doSumVisitsMetrics()
                 $rowToSum->getColumn('nb_actions') || $rowToSum->getColumn('nb_visits'));
             if (($visits && $visits > $this->maxVisitsSummed)
diff --git a/core/EventDispatcher.php b/core/EventDispatcher.php
index f11107d56e42d1824086121234f100e3f74a6f56..8496013cabbd38c43b210acd5e56c54f128d0b8f 100644
--- a/core/EventDispatcher.php
+++ b/core/EventDispatcher.php
@@ -76,7 +76,7 @@ class Piwik_EventDispatcher
         }
         
         if (empty($plugins)) {
-            $plugins = Piwik_PluginsManager::getInstance()->getLoadedPlugins();
+            $plugins = PluginsManager::getInstance()->getLoadedPlugins();
         }
         
         $callbacks = array();
@@ -84,7 +84,7 @@ class Piwik_EventDispatcher
         // collect all callbacks to execute
         foreach ($plugins as $plugin) {
             if (is_string($plugin)) {
-                $plugin = Piwik_PluginsManager::getInstance()->getLoadedPlugin($plugin);
+                $plugin = PluginsManager::getInstance()->getLoadedPlugin($plugin);
             }
             
             $hooks = $plugin->getListHooksRegistered();
diff --git a/core/FrontController.php b/core/FrontController.php
index a66a093cb8ac4320323fcc685ef5bf6316731018..cda6d1dae2400415413ef8b8adf6332949f8263a 100644
--- a/core/FrontController.php
+++ b/core/FrontController.php
@@ -12,6 +12,7 @@ use Piwik\Config;
 use Piwik\Piwik;
 use Piwik\Common;
 use Piwik\Access;
+use Piwik\PluginsManager;
 
 /**
  * @see core/PluginsManager.php
@@ -96,7 +97,7 @@ class Piwik_FrontController
             throw new Exception("Invalid module name '$module'");
         }
 
-        if (!Piwik_PluginsManager::getInstance()->isPluginActivated($module)) {
+        if (!PluginsManager::getInstance()->isPluginActivated($module)) {
             throw new Piwik_FrontController_PluginDeactivatedException($module);
         }
 
@@ -246,7 +247,7 @@ class Piwik_FrontController
             $this->handleMaintenanceMode();
             $this->handleSSLRedirection();
 
-            $pluginsManager = Piwik_PluginsManager::getInstance();
+            $pluginsManager = PluginsManager::getInstance();
             $pluginsToLoad = Config::getInstance()->Plugins['Plugins'];
 
             $pluginsManager->loadPlugins($pluginsToLoad);
@@ -273,7 +274,7 @@ class Piwik_FrontController
 
             Piwik_PostEvent('FrontController.dispatchCoreAndPluginUpdatesScreen');
 
-            Piwik_PluginsManager::getInstance()->installLoadedPlugins();
+            PluginsManager::getInstance()->installLoadedPlugins();
 
             // ensure the current Piwik URL is known for later use
             if (method_exists('Piwik\Piwik', 'getPiwikUrl')) {
diff --git a/core/JqplotDataGenerator.php b/core/JqplotDataGenerator.php
index d99d986cc9f9f7894594f414d807b353aaf61540..3a1abd16b65d6d5d84fa6e17f878ee4b4c7b6505 100644
--- a/core/JqplotDataGenerator.php
+++ b/core/JqplotDataGenerator.php
@@ -10,6 +10,7 @@
  */
 
 use Piwik\Common;
+use Piwik\Metrics;
 
 /**
  * Generates JSON data used to configure and populate JQPlot graphs.
@@ -79,7 +80,7 @@ class Piwik_JqplotDataGenerator
             $offsetStartSummary = $this->properties['graph_limit'] - 1;
             $sortColumn = !empty($this->properties['filter_sort_column'])
                         ? $this->properties['filter_sort_column']
-                        : Piwik_Metrics::INDEX_NB_VISITS;
+                        : Metrics::INDEX_NB_VISITS;
             
             $dataTable->filter(
                 'AddSummaryRow', array($offsetStartSummary, Piwik_Translate('General_Others'), $sortColumn));
@@ -165,7 +166,7 @@ class Piwik_JqplotDataGenerator
         
         $units = array();
         foreach ($this->properties['columns_to_display'] as $columnName) {
-            $derivedUnit = Piwik_Metrics::getUnit($columnName, $idSite);
+            $derivedUnit = Metrics::getUnit($columnName, $idSite);
             $units[$columnName] = empty($derivedUnit) ? false : $derivedUnit;
         }
         return $units;
diff --git a/core/Metrics.php b/core/Metrics.php
index 90560e17d05222f61d8ee568e66823f7010a81e1..2d8513755658b0e6a011eee7578f98584ce11a6b 100644
--- a/core/Metrics.php
+++ b/core/Metrics.php
@@ -8,12 +8,13 @@
  * @category Piwik
  * @package Piwik
  */
+namespace Piwik;
 use Piwik\Piwik;
 
 /**
  * This class holds the various mappings we use to internally store and manipulate metrics.
  */
-class Piwik_Metrics
+class Metrics
 {
     /**
      * When saving DataTables in the DB, we replace all columns name with these IDs. This saves many bytes,
@@ -71,76 +72,76 @@ class Piwik_Metrics
     const INDEX_GOAL_ECOMMERCE_REVENUE_DISCOUNT = 7;
     const INDEX_GOAL_ECOMMERCE_ITEMS = 8;
     static public $mappingFromIdToName = array(
-        Piwik_Metrics::INDEX_NB_UNIQ_VISITORS                      => 'nb_uniq_visitors',
-        Piwik_Metrics::INDEX_NB_VISITS                             => 'nb_visits',
-        Piwik_Metrics::INDEX_NB_ACTIONS                            => 'nb_actions',
-        Piwik_Metrics::INDEX_MAX_ACTIONS                           => 'max_actions',
-        Piwik_Metrics::INDEX_SUM_VISIT_LENGTH                      => 'sum_visit_length',
-        Piwik_Metrics::INDEX_BOUNCE_COUNT                          => 'bounce_count',
-        Piwik_Metrics::INDEX_NB_VISITS_CONVERTED                   => 'nb_visits_converted',
-        Piwik_Metrics::INDEX_NB_CONVERSIONS                        => 'nb_conversions',
-        Piwik_Metrics::INDEX_REVENUE                               => 'revenue',
-        Piwik_Metrics::INDEX_GOALS                                 => 'goals',
-        Piwik_Metrics::INDEX_SUM_DAILY_NB_UNIQ_VISITORS            => 'sum_daily_nb_uniq_visitors',
+        Metrics::INDEX_NB_UNIQ_VISITORS                      => 'nb_uniq_visitors',
+        Metrics::INDEX_NB_VISITS                             => 'nb_visits',
+        Metrics::INDEX_NB_ACTIONS                            => 'nb_actions',
+        Metrics::INDEX_MAX_ACTIONS                           => 'max_actions',
+        Metrics::INDEX_SUM_VISIT_LENGTH                      => 'sum_visit_length',
+        Metrics::INDEX_BOUNCE_COUNT                          => 'bounce_count',
+        Metrics::INDEX_NB_VISITS_CONVERTED                   => 'nb_visits_converted',
+        Metrics::INDEX_NB_CONVERSIONS                        => 'nb_conversions',
+        Metrics::INDEX_REVENUE                               => 'revenue',
+        Metrics::INDEX_GOALS                                 => 'goals',
+        Metrics::INDEX_SUM_DAILY_NB_UNIQ_VISITORS            => 'sum_daily_nb_uniq_visitors',
 
         // Actions metrics
-        Piwik_Metrics::INDEX_PAGE_NB_HITS                          => 'nb_hits',
-        Piwik_Metrics::INDEX_PAGE_SUM_TIME_SPENT                   => 'sum_time_spent',
-        Piwik_Metrics::INDEX_PAGE_SUM_TIME_GENERATION              => 'sum_time_generation',
-        Piwik_Metrics::INDEX_PAGE_NB_HITS_WITH_TIME_GENERATION     => 'nb_hits_with_time_generation',
-        Piwik_Metrics::INDEX_PAGE_MIN_TIME_GENERATION              => 'min_time_generation',
-        Piwik_Metrics::INDEX_PAGE_MAX_TIME_GENERATION              => 'max_time_generation',
+        Metrics::INDEX_PAGE_NB_HITS                          => 'nb_hits',
+        Metrics::INDEX_PAGE_SUM_TIME_SPENT                   => 'sum_time_spent',
+        Metrics::INDEX_PAGE_SUM_TIME_GENERATION              => 'sum_time_generation',
+        Metrics::INDEX_PAGE_NB_HITS_WITH_TIME_GENERATION     => 'nb_hits_with_time_generation',
+        Metrics::INDEX_PAGE_MIN_TIME_GENERATION              => 'min_time_generation',
+        Metrics::INDEX_PAGE_MAX_TIME_GENERATION              => 'max_time_generation',
 
-        Piwik_Metrics::INDEX_PAGE_EXIT_NB_UNIQ_VISITORS            => 'exit_nb_uniq_visitors',
-        Piwik_Metrics::INDEX_PAGE_EXIT_NB_VISITS                   => 'exit_nb_visits',
-        Piwik_Metrics::INDEX_PAGE_EXIT_SUM_DAILY_NB_UNIQ_VISITORS  => 'sum_daily_exit_nb_uniq_visitors',
+        Metrics::INDEX_PAGE_EXIT_NB_UNIQ_VISITORS            => 'exit_nb_uniq_visitors',
+        Metrics::INDEX_PAGE_EXIT_NB_VISITS                   => 'exit_nb_visits',
+        Metrics::INDEX_PAGE_EXIT_SUM_DAILY_NB_UNIQ_VISITORS  => 'sum_daily_exit_nb_uniq_visitors',
 
-        Piwik_Metrics::INDEX_PAGE_ENTRY_NB_UNIQ_VISITORS           => 'entry_nb_uniq_visitors',
-        Piwik_Metrics::INDEX_PAGE_ENTRY_SUM_DAILY_NB_UNIQ_VISITORS => 'sum_daily_entry_nb_uniq_visitors',
-        Piwik_Metrics::INDEX_PAGE_ENTRY_NB_VISITS                  => 'entry_nb_visits',
-        Piwik_Metrics::INDEX_PAGE_ENTRY_NB_ACTIONS                 => 'entry_nb_actions',
-        Piwik_Metrics::INDEX_PAGE_ENTRY_SUM_VISIT_LENGTH           => 'entry_sum_visit_length',
-        Piwik_Metrics::INDEX_PAGE_ENTRY_BOUNCE_COUNT               => 'entry_bounce_count',
-        Piwik_Metrics::INDEX_PAGE_IS_FOLLOWING_SITE_SEARCH_NB_HITS => 'nb_hits_following_search',
+        Metrics::INDEX_PAGE_ENTRY_NB_UNIQ_VISITORS           => 'entry_nb_uniq_visitors',
+        Metrics::INDEX_PAGE_ENTRY_SUM_DAILY_NB_UNIQ_VISITORS => 'sum_daily_entry_nb_uniq_visitors',
+        Metrics::INDEX_PAGE_ENTRY_NB_VISITS                  => 'entry_nb_visits',
+        Metrics::INDEX_PAGE_ENTRY_NB_ACTIONS                 => 'entry_nb_actions',
+        Metrics::INDEX_PAGE_ENTRY_SUM_VISIT_LENGTH           => 'entry_sum_visit_length',
+        Metrics::INDEX_PAGE_ENTRY_BOUNCE_COUNT               => 'entry_bounce_count',
+        Metrics::INDEX_PAGE_IS_FOLLOWING_SITE_SEARCH_NB_HITS => 'nb_hits_following_search',
 
         // Items reports metrics
-        Piwik_Metrics::INDEX_ECOMMERCE_ITEM_REVENUE                => 'revenue',
-        Piwik_Metrics::INDEX_ECOMMERCE_ITEM_QUANTITY               => 'quantity',
-        Piwik_Metrics::INDEX_ECOMMERCE_ITEM_PRICE                  => 'price',
-        Piwik_Metrics::INDEX_ECOMMERCE_ITEM_PRICE_VIEWED           => 'price_viewed',
-        Piwik_Metrics::INDEX_ECOMMERCE_ORDERS                      => 'orders',
+        Metrics::INDEX_ECOMMERCE_ITEM_REVENUE                => 'revenue',
+        Metrics::INDEX_ECOMMERCE_ITEM_QUANTITY               => 'quantity',
+        Metrics::INDEX_ECOMMERCE_ITEM_PRICE                  => 'price',
+        Metrics::INDEX_ECOMMERCE_ITEM_PRICE_VIEWED           => 'price_viewed',
+        Metrics::INDEX_ECOMMERCE_ORDERS                      => 'orders',
     );
     static public $mappingFromIdToNameGoal = array(
-        Piwik_Metrics::INDEX_GOAL_NB_CONVERSIONS             => 'nb_conversions',
-        Piwik_Metrics::INDEX_GOAL_NB_VISITS_CONVERTED        => 'nb_visits_converted',
-        Piwik_Metrics::INDEX_GOAL_REVENUE                    => 'revenue',
-        Piwik_Metrics::INDEX_GOAL_ECOMMERCE_REVENUE_SUBTOTAL => 'revenue_subtotal',
-        Piwik_Metrics::INDEX_GOAL_ECOMMERCE_REVENUE_TAX      => 'revenue_tax',
-        Piwik_Metrics::INDEX_GOAL_ECOMMERCE_REVENUE_SHIPPING => 'revenue_shipping',
-        Piwik_Metrics::INDEX_GOAL_ECOMMERCE_REVENUE_DISCOUNT => 'revenue_discount',
-        Piwik_Metrics::INDEX_GOAL_ECOMMERCE_ITEMS            => 'items',
+        Metrics::INDEX_GOAL_NB_CONVERSIONS             => 'nb_conversions',
+        Metrics::INDEX_GOAL_NB_VISITS_CONVERTED        => 'nb_visits_converted',
+        Metrics::INDEX_GOAL_REVENUE                    => 'revenue',
+        Metrics::INDEX_GOAL_ECOMMERCE_REVENUE_SUBTOTAL => 'revenue_subtotal',
+        Metrics::INDEX_GOAL_ECOMMERCE_REVENUE_TAX      => 'revenue_tax',
+        Metrics::INDEX_GOAL_ECOMMERCE_REVENUE_SHIPPING => 'revenue_shipping',
+        Metrics::INDEX_GOAL_ECOMMERCE_REVENUE_DISCOUNT => 'revenue_discount',
+        Metrics::INDEX_GOAL_ECOMMERCE_ITEMS            => 'items',
     );
     static public $mappingFromNameToId = array(
-        'nb_uniq_visitors'           => Piwik_Metrics::INDEX_NB_UNIQ_VISITORS,
-        'nb_visits'                  => Piwik_Metrics::INDEX_NB_VISITS,
-        'nb_actions'                 => Piwik_Metrics::INDEX_NB_ACTIONS,
-        'max_actions'                => Piwik_Metrics::INDEX_MAX_ACTIONS,
-        'sum_visit_length'           => Piwik_Metrics::INDEX_SUM_VISIT_LENGTH,
-        'bounce_count'               => Piwik_Metrics::INDEX_BOUNCE_COUNT,
-        'nb_visits_converted'        => Piwik_Metrics::INDEX_NB_VISITS_CONVERTED,
-        'nb_conversions'             => Piwik_Metrics::INDEX_NB_CONVERSIONS,
-        'revenue'                    => Piwik_Metrics::INDEX_REVENUE,
-        'goals'                      => Piwik_Metrics::INDEX_GOALS,
-        'sum_daily_nb_uniq_visitors' => Piwik_Metrics::INDEX_SUM_DAILY_NB_UNIQ_VISITORS,
+        'nb_uniq_visitors'           => Metrics::INDEX_NB_UNIQ_VISITORS,
+        'nb_visits'                  => Metrics::INDEX_NB_VISITS,
+        'nb_actions'                 => Metrics::INDEX_NB_ACTIONS,
+        'max_actions'                => Metrics::INDEX_MAX_ACTIONS,
+        'sum_visit_length'           => Metrics::INDEX_SUM_VISIT_LENGTH,
+        'bounce_count'               => Metrics::INDEX_BOUNCE_COUNT,
+        'nb_visits_converted'        => Metrics::INDEX_NB_VISITS_CONVERTED,
+        'nb_conversions'             => Metrics::INDEX_NB_CONVERSIONS,
+        'revenue'                    => Metrics::INDEX_REVENUE,
+        'goals'                      => Metrics::INDEX_GOALS,
+        'sum_daily_nb_uniq_visitors' => Metrics::INDEX_SUM_DAILY_NB_UNIQ_VISITORS,
     );
     static protected $metricsAggregatedFromLogs = array(
-        Piwik_Metrics::INDEX_NB_UNIQ_VISITORS,
-        Piwik_Metrics::INDEX_NB_VISITS,
-        Piwik_Metrics::INDEX_NB_ACTIONS,
-        Piwik_Metrics::INDEX_MAX_ACTIONS,
-        Piwik_Metrics::INDEX_SUM_VISIT_LENGTH,
-        Piwik_Metrics::INDEX_BOUNCE_COUNT,
-        Piwik_Metrics::INDEX_NB_VISITS_CONVERTED,
+        Metrics::INDEX_NB_UNIQ_VISITORS,
+        Metrics::INDEX_NB_VISITS,
+        Metrics::INDEX_NB_ACTIONS,
+        Metrics::INDEX_MAX_ACTIONS,
+        Metrics::INDEX_SUM_VISIT_LENGTH,
+        Metrics::INDEX_BOUNCE_COUNT,
+        Metrics::INDEX_NB_VISITS_CONVERTED,
     );
 
     /* Used in DataTable Sort filter */
@@ -294,5 +295,4 @@ class Piwik_Metrics
         $percentVisitsLabel = str_replace(' ', html_entity_decode('&nbsp;'), Piwik_Translate('General_ColumnPercentageVisits'));
         return $percentVisitsLabel;
     }
-
 }
\ No newline at end of file
diff --git a/core/Period.php b/core/Period.php
index 6e74ad40952f6b34c65680254831991cd0967918..f816b58c02fd59ff7752a0f4797ba4452cc432eb 100644
--- a/core/Period.php
+++ b/core/Period.php
@@ -14,7 +14,7 @@ use Piwik\Piwik;
 use Piwik_Date;
 use Piwik_Period_Day;
 use Piwik_Period_Month;
-use Piwik_Period_Range;
+use Piwik\Period_Range;
 use Piwik_Period_Week;
 use Piwik_Period_Year;
 
@@ -106,7 +106,7 @@ abstract class Period
         return
             is_string($dateString)
             && (preg_match('/^(last|previous){1}([0-9]*)$/D', $dateString, $regs)
-            || Piwik_Period_Range::parseDateRange($dateString))
+            || Period_Range::parseDateRange($dateString))
             && $period != 'range';
     }
 
@@ -124,7 +124,7 @@ abstract class Period
     static public function advancedFactory($strPeriod, $strDate)
     {
         if (Period::isMultiplePeriod($strDate, $strPeriod) || $strPeriod == 'range') {
-            return new Piwik_Period_Range($strPeriod, $strDate);
+            return new Period_Range($strPeriod, $strDate);
         }
         return Period::factory($strPeriod, Piwik_Date::factory($strDate));
     }
@@ -145,7 +145,7 @@ abstract class Period
         }
 
         if ($period == 'range') {
-            $oPeriod = new Piwik_Period_Range('range', $date, $timezone, Piwik_Date::factory('today', $timezone));
+            $oPeriod = new Period_Range('range', $date, $timezone, Piwik_Date::factory('today', $timezone));
         } else {
             if (!($date instanceof Piwik_Date)) {
                 if ($date == 'now' || $date == 'today') {
diff --git a/core/Period/Range.php b/core/Period/Range.php
index e8020ad8755794c14ae3dd3efaae5d8106067829..8922adfa837c4af393e093e6d93a111b97493f24 100644
--- a/core/Period/Range.php
+++ b/core/Period/Range.php
@@ -8,8 +8,13 @@
  * @category Piwik
  * @package Piwik
  */
+namespace Piwik;
+use Exception;
 use Piwik\Common;
 use Piwik\Period;
+use Piwik_Date;
+use Piwik_Period_Month;
+use Piwik_Period_Week;
 
 /**
  * from a starting date to an ending date
@@ -17,7 +22,7 @@ use Piwik\Period;
  * @package Piwik
  * @subpackage Period
  */
-class Piwik_Period_Range extends Period
+class Period_Range extends Period
 {
     protected $label = 'range';
 
@@ -196,7 +201,7 @@ class Piwik_Period_Range extends Period
             $lastN = abs($lastN);
 
             $startDate = self::removePeriod($period, $endDate, $lastN);
-        } elseif ($dateRange = Piwik_Period_Range::parseDateRange($this->strDate)) {
+        } elseif ($dateRange = Period_Range::parseDateRange($this->strDate)) {
             $strDateStart = $dateRange[1];
             $strDateEnd = $dateRange[2];
             $startDate = Piwik_Date::factory($strDateStart);
@@ -370,14 +375,14 @@ class Piwik_Period_Range extends Period
         if ($period != 'range' && !preg_match('/(last|previous)([0-9]*)/', $date, $regs)) {
             if (strpos($date, ',')) // date in the form of 2011-01-01,2011-02-02
             {
-                $rangePeriod = new Piwik_Period_Range($period, $date);
+                $rangePeriod = new Period_Range($period, $date);
 
-                $lastStartDate = Piwik_Period_Range::removePeriod($period, $rangePeriod->getDateStart(), $n = 1);
-                $lastEndDate = Piwik_Period_Range::removePeriod($period, $rangePeriod->getDateEnd(), $n = 1);
+                $lastStartDate = Period_Range::removePeriod($period, $rangePeriod->getDateStart(), $n = 1);
+                $lastEndDate = Period_Range::removePeriod($period, $rangePeriod->getDateEnd(), $n = 1);
 
                 $strLastDate = "$lastStartDate,$lastEndDate";
             } else {
-                $lastPeriod = Piwik_Period_Range::removePeriod($period, Piwik_Date::factory($date), $n = 1);
+                $lastPeriod = Period_Range::removePeriod($period, Piwik_Date::factory($date), $n = 1);
                 $strLastDate = $lastPeriod->toString();
             }
         }
diff --git a/core/Piwik.php b/core/Piwik.php
index 4e87890aa3015c3d3dba772f571e3fa8e83941e5..5f2c57e111168f7611ad02a166c1876740f9c1ad 100644
--- a/core/Piwik.php
+++ b/core/Piwik.php
@@ -24,7 +24,6 @@ use Piwik_Log_Exception;
 use Piwik_Log_Formatter_ScreenFormatter;
 use Piwik_Log_Message;
 use Piwik_Plugin;
-use Piwik_PluginsManager;
 use Piwik_Session;
 use Piwik\Site;
 use Piwik_Tracker;
@@ -1847,7 +1846,7 @@ class Piwik
      */
     static public function getCurrentPlugin()
     {
-        return Piwik_PluginsManager::getInstance()->getLoadedPlugin(Piwik::getModule());
+        return PluginsManager::getInstance()->getLoadedPlugin(Piwik::getModule());
     }
 
     /**
diff --git a/core/Plugin/MetadataLoader.php b/core/Plugin/MetadataLoader.php
index 6e8e16ebb4dd9057ac108b573f35b62e8df388a8..f2e6191dc24ce40b2cb41c7eb81d2eb50ec03f4f 100644
--- a/core/Plugin/MetadataLoader.php
+++ b/core/Plugin/MetadataLoader.php
@@ -9,6 +9,7 @@
  * @package Piwik
  */
 use Piwik\Common;
+use Piwik\PluginsManager;
 
 /**
  * @see core/Version.php
@@ -76,13 +77,13 @@ class Piwik_Plugin_MetadataLoader
     
     private function loadPluginInfoJson()
     {
-        $path = Piwik_PluginsManager::getPluginsDirectory() . $this->pluginName . '/' . self::PLUGIN_JSON_FILENAME;
+        $path = PluginsManager::getPluginsDirectory() . $this->pluginName . '/' . self::PLUGIN_JSON_FILENAME;
         return $this->loadJsonMetadata($path);
     }
     
     private function loadPluginColorsJson()
     {
-        $path = Piwik_PluginsManager::getPluginsDirectory() . $this->pluginName . '/' . self::COLORS_JSON_FILENAME;
+        $path = PluginsManager::getPluginsDirectory() . $this->pluginName . '/' . self::COLORS_JSON_FILENAME;
         $info = $this->loadJsonMetadata($path);
         $info = $this->cleanAndValidatePluginColorsJson($path, $info);
         return $info;
diff --git a/core/PluginsManager.php b/core/PluginsManager.php
index 5147ed21780c111ff941e8c9eba269acb3597ecf..4fb4c82f6833eef074635f4c170156f61bde8b08 100644
--- a/core/PluginsManager.php
+++ b/core/PluginsManager.php
@@ -8,6 +8,9 @@
  * @category Piwik
  * @package Piwik
  */
+
+namespace Piwik;
+
 use Piwik\Config;
 use Piwik\Piwik;
 use Piwik\Common;
@@ -33,9 +36,9 @@ require_once PIWIK_INCLUDE_PATH . '/core/EventDispatcher.php';
  * Plugin manager
  *
  * @package Piwik
- * @subpackage Piwik_PluginsManager
+ * @subpackage PluginsManager
  */
-class Piwik_PluginsManager
+class PluginsManager
 {
     protected $pluginsToLoad = array();
 
@@ -69,9 +72,9 @@ class Piwik_PluginsManager
     static private $instance = null;
 
     /**
-     * Returns the singleton Piwik_PluginsManager
+     * Returns the singleton PluginsManager
      *
-     * @return Piwik_PluginsManager
+     * @return PluginsManager
      */
     static public function getInstance()
     {
@@ -515,8 +518,9 @@ class Piwik_PluginsManager
         }
         $newPlugin = new $pluginClassName();
 
+        var_dump(get_class($newPlugin));
         if (!($newPlugin instanceof Piwik_Plugin)) {
-            throw new Exception("The plugin $pluginClassName in the file $path must inherit from Piwik_Plugin.");
+            throw new \Exception("The plugin $pluginClassName in the file $path must inherit from Piwik_Plugin.");
         }
         return $newPlugin;
     }
@@ -648,7 +652,7 @@ class Piwik_PluginsManager
             $plugins = Config::getInstance()->Plugins['Plugins'];
             foreach ($plugins as $pluginName) {
                 // if a plugin is listed in the config, but is not loaded, it does not exist in the folder
-                if (!Piwik_PluginsManager::getInstance()->isPluginLoaded($pluginName)) {
+                if (!PluginsManager::getInstance()->isPluginLoaded($pluginName)) {
                     $missingPlugins[] = $pluginName;
                 }
             }
@@ -704,7 +708,7 @@ class Piwik_PluginsManager
         }
         return false;
     }
-    
+
     private static function pluginStructureLooksValid($path)
     {
         $name = basename($path);
@@ -713,11 +717,12 @@ class Piwik_PluginsManager
     }
 }
 
+namespace Piwik;
 /**
  * @package Piwik
- * @subpackage Piwik_PluginsManager
+ * @subpackage PluginsManager
  */
-class Piwik_PluginsManager_PluginException extends Exception
+class PluginsManager_PluginException extends \Exception
 {
     function __construct($pluginName, $message)
     {
diff --git a/core/Segment.php b/core/Segment.php
index 35ada3d8783606ff1e877199c3fd652c1e61af6a..cfc82c86e70ae3d31f648032c73d80be5635c66f 100644
--- a/core/Segment.php
+++ b/core/Segment.php
@@ -8,17 +8,21 @@
  * @category Piwik
  * @package Piwik
  */
+namespace Piwik;
+use Exception;
 use Piwik\Piwik;
 use Piwik\Common;
+use Piwik_API_API;
+use Piwik\SegmentExpression;
 
 /**
  *
  * @package Piwik
  */
-class Piwik_Segment
+class Segment
 {
     /**
-     * @var Piwik_SegmentExpression
+     * @var SegmentExpression
      */
     protected $segment = null;
 
@@ -39,8 +43,8 @@ class Piwik_Segment
         // First try with url decoded value. If that fails, try with raw value.
         // If that also fails, it will throw the exception
         try {
-            $this->initializeSegment( urldecode($string), $idSites);
-        } catch(Exception $e) {
+            $this->initializeSegment(urldecode($string), $idSites);
+        } catch (Exception $e) {
             $this->initializeSegment($string, $idSites);
         }
     }
@@ -57,7 +61,7 @@ class Piwik_Segment
 
         $this->string = $string;
         $this->idSites = $idSites;
-        $segment = new Piwik_SegmentExpression($string);
+        $segment = new SegmentExpression($string);
         $this->segment = $segment;
 
         // parse segments
@@ -68,9 +72,9 @@ class Piwik_Segment
         // and apply a filter to the value to match if necessary (to map DB fields format)
         $cleanedExpressions = array();
         foreach ($expressions as $expression) {
-            $operand = $expression[Piwik_SegmentExpression::INDEX_OPERAND];
+            $operand = $expression[SegmentExpression::INDEX_OPERAND];
             $cleanedExpression = $this->getCleanedExpression($operand);
-            $expression[Piwik_SegmentExpression::INDEX_OPERAND] = $cleanedExpression;
+            $expression[SegmentExpression::INDEX_OPERAND] = $cleanedExpression;
             $cleanedExpressions[] = $expression;
         }
         $segment->setSubExpressionsAfterCleanup($cleanedExpressions);
@@ -111,8 +115,8 @@ class Piwik_Segment
             // apply presentation filter
             if (isset($segment['sqlFilter'])
                 && !empty($segment['sqlFilter'])
-                && $matchType != Piwik_SegmentExpression::MATCH_IS_NOT_NULL_NOR_EMPTY
-                && $matchType != Piwik_SegmentExpression::MATCH_IS_NULL_OR_EMPTY
+                && $matchType != SegmentExpression::MATCH_IS_NOT_NULL_NOR_EMPTY
+                && $matchType != SegmentExpression::MATCH_IS_NULL_OR_EMPTY
             ) {
                 $value = call_user_func($segment['sqlFilter'], $value, $segment['sqlSegment'], $matchType, $name);
 
@@ -122,7 +126,7 @@ class Piwik_Segment
                     && isset($value['SQL'])
                 ) {
                     // Special case: returned value is a sub sql expression!
-                    $matchType = Piwik_SegmentExpression::MATCH_ACTIONS_CONTAINS;
+                    $matchType = SegmentExpression::MATCH_ACTIONS_CONTAINS;
                 }
             }
             break;
@@ -150,7 +154,6 @@ class Piwik_Segment
         return md5($normalizedSegmentString);
     }
 
-
     /**
      * Extend SQL query with segment expressions
      *
@@ -382,5 +385,4 @@ class Piwik_Segment
         $where = false;
         return $this->buildSelectQuery($select, $from, $where, $orderBy, $groupBy);
     }
-
 }
diff --git a/core/SegmentExpression.php b/core/SegmentExpression.php
index 43aa1294a18da8c9618a09ce34eca598312bab9c..64340448084bd7da02449e10b0407a4d51da355d 100644
--- a/core/SegmentExpression.php
+++ b/core/SegmentExpression.php
@@ -9,11 +9,14 @@
  * @package Piwik
  */
 
+namespace Piwik;
+use Exception;
+
 /**
  *
  * @package Piwik
  */
-class Piwik_SegmentExpression
+class SegmentExpression
 {
     const AND_DELIMITER = ';';
     const OR_DELIMITER = ',';
@@ -88,9 +91,9 @@ class Piwik_SegmentExpression
 
             // is null / is not null
             if ($valueRightMember === '') {
-                if($operation == self::MATCH_NOT_EQUAL) {
+                if ($operation == self::MATCH_NOT_EQUAL) {
                     $operation = self::MATCH_IS_NOT_NULL_NOR_EMPTY;
-                } elseif($operation == self::MATCH_EQUAL) {
+                } elseif ($operation == self::MATCH_EQUAL) {
                     $operation = self::MATCH_IS_NULL_OR_EMPTY;
                 } else {
                     throw new Exception('The segment \'' . $operand . '\' has no value specified. You can leave this value empty ' .
@@ -205,12 +208,12 @@ class Piwik_SegmentExpression
                 break;
 
             case self::MATCH_IS_NOT_NULL_NOR_EMPTY:
-                $sqlMatch = 'IS NOT NULL AND ('.$field.' <> \'\' OR '.$field.' = 0)';
+                $sqlMatch = 'IS NOT NULL AND (' . $field . ' <> \'\' OR ' . $field . ' = 0)';
                 $value = null;
                 break;
 
             case self::MATCH_IS_NULL_OR_EMPTY:
-                $sqlMatch = 'IS NULL OR '.$field.' = \'\' ';
+                $sqlMatch = 'IS NULL OR ' . $field . ' = \'\' ';
                 $value = null;
                 break;
 
@@ -218,7 +221,7 @@ class Piwik_SegmentExpression
                 // this match type is not accessible from the outside
                 // (it won't be matched in self::parseSubExpressions())
                 // it can be used internally to inject sub-expressions into the query.
-                // see Piwik_Segment::getCleanedExpression()
+                // see Segment::getCleanedExpression()
                 $sqlMatch = 'IN (' . $value['SQL'] . ')';
                 $value = $this->escapeLikeString($value['bind']);
                 break;
@@ -231,10 +234,11 @@ class Piwik_SegmentExpression
         $alsoMatchNULLValues = $alsoMatchNULLValues && !empty($value);
 
         if ($matchType === self::MATCH_ACTIONS_CONTAINS
-            || is_null($value)) {
+            || is_null($value)
+        ) {
             $sqlExpression = "( $field $sqlMatch )";
         } else {
-            if($alsoMatchNULLValues) {
+            if ($alsoMatchNULLValues) {
                 $sqlExpression = "( $field IS NULL OR $field $sqlMatch ? )";
             } else {
                 $sqlExpression = "$field $sqlMatch ?";
@@ -260,7 +264,7 @@ class Piwik_SegmentExpression
         $table = count($fieldParts) == 2 ? $fieldParts[0] : false;
 
         // remove sql functions from field name
-        // example: `HOUR(log_visit.visit_last_action_time)` gets `HOUR(log_visit` => remove `HOUR(` 
+        // example: `HOUR(log_visit.visit_last_action_time)` gets `HOUR(log_visit` => remove `HOUR(`
         $table = preg_replace('/^[A-Z_]+\(/', '', $table);
         $tableExists = !$table || in_array($table, $availableTables);
 
diff --git a/core/Tracker.php b/core/Tracker.php
index 8e0fac450b7fdae8df57c38752ddef42699c30dd..a5d9bc0186214a75a9c6f4d4d36c1427f45df6d5 100644
--- a/core/Tracker.php
+++ b/core/Tracker.php
@@ -352,7 +352,7 @@ class Piwik_Tracker
                 Piwik::createDatabaseObject();
             }
 
-            $pluginsManager = Piwik_PluginsManager::getInstance();
+            $pluginsManager = PluginsManager::getInstance();
             $pluginsToLoad = Config::getInstance()->Plugins['Plugins'];
             $pluginsForcedNotToLoad = Piwik_Tracker::getPluginsNotToLoad();
             $pluginsToLoad = array_diff($pluginsToLoad, $pluginsForcedNotToLoad);
@@ -603,9 +603,9 @@ class Piwik_Tracker
             $pluginsTracker = Config::getInstance()->Plugins_Tracker['Plugins_Tracker'];
             if (count($pluginsTracker) > 0) {
                 $pluginsTracker = array_diff($pluginsTracker, self::getPluginsNotToLoad());
-                Piwik_PluginsManager::getInstance()->doNotLoadAlwaysActivatedPlugins();
+                PluginsManager::getInstance()->doNotLoadAlwaysActivatedPlugins();
 
-                Piwik_PluginsManager::getInstance()->loadPlugins($pluginsTracker);
+                PluginsManager::getInstance()->loadPlugins($pluginsTracker);
 
                 Common::printDebug("Loading plugins: { " . implode(",", $pluginsTracker) . " }");
             }
diff --git a/core/Translate.php b/core/Translate.php
index ce736265e989e0dc7b94d45804c1880eed06c639..fb2759b289705da141fd7503f1ff6e85a2c9654f 100644
--- a/core/Translate.php
+++ b/core/Translate.php
@@ -49,7 +49,7 @@ class Piwik_Translate
         $this->unloadEnglishTranslation();
         $this->loadEnglishTranslation();
         $this->loadCoreTranslation($language);
-        Piwik_PluginsManager::getInstance()->loadPluginTranslations($language);
+        PluginsManager::getInstance()->loadPluginTranslations($language);
     }
 
     /**
diff --git a/core/Twig.php b/core/Twig.php
index 57e2c67605fc3f27cbfecb6e17590d0d1aae835a..58b1e0cef11aa4e8ca478763c1bfa7f005164755 100644
--- a/core/Twig.php
+++ b/core/Twig.php
@@ -136,7 +136,7 @@ class Piwik_Twig
     private function getDefaultThemeLoader()
     {
         $themeLoader = new Twig_Loader_Filesystem(array(
-            sprintf("%s/plugins/%s/templates/", PIWIK_INCLUDE_PATH, Piwik_PluginsManager::DEFAULT_THEME)
+            sprintf("%s/plugins/%s/templates/", PIWIK_INCLUDE_PATH, PluginsManager::DEFAULT_THEME)
         ));
 
         return $themeLoader;
@@ -213,7 +213,7 @@ class Piwik_Twig
 
     private function addPluginNamespaces(Twig_Loader_Filesystem $loader)
     {
-        $plugins = Piwik_PluginsManager::getInstance()->getLoadedPluginsName();
+        $plugins = PluginsManager::getInstance()->getLoadedPluginsName();
         foreach($plugins as $name) {
             $name = Common::unprefixClass($name);
             $path = sprintf("%s/plugins/%s/templates/", PIWIK_INCLUDE_PATH, $name);
diff --git a/core/Updates/0.6-rc1.php b/core/Updates/0.6-rc1.php
index 505df64ab2a113c3c561a63848b01cfb609c8cca..9f63064eacfcd6170b951c7cc670766666e70fde 100644
--- a/core/Updates/0.6-rc1.php
+++ b/core/Updates/0.6-rc1.php
@@ -45,8 +45,8 @@ class Piwik_Updates_0_6_rc1 extends Piwik_Updates
         );
         $disabledPlugins = array();
         foreach ($pluginsToDisableMessage as $pluginToDisable => $warningMessage) {
-            if (Piwik_PluginsManager::getInstance()->isPluginActivated($pluginToDisable)) {
-                Piwik_PluginsManager::getInstance()->deactivatePlugin($pluginToDisable);
+            if (PluginsManager::getInstance()->isPluginActivated($pluginToDisable)) {
+                PluginsManager::getInstance()->deactivatePlugin($pluginToDisable);
                 $disabledPlugins[] = $warningMessage;
             }
         }
diff --git a/core/Updates/1.10-b4.php b/core/Updates/1.10-b4.php
index b34c3c8b5fb3a16705f5b59333a167591d5d371e..5460b7f5406c8f98c425aae4082916816d8642e7 100755
--- a/core/Updates/1.10-b4.php
+++ b/core/Updates/1.10-b4.php
@@ -22,7 +22,7 @@ class Piwik_Updates_1_10_b4 extends Piwik_Updates
     static function update()
     {
         try {
-            Piwik_PluginsManager::getInstance()->activatePlugin('MobileMessaging');
+            PluginsManager::getInstance()->activatePlugin('MobileMessaging');
         } catch (Exception $e) {
             // pass
         }
diff --git a/core/Updates/1.10.1.php b/core/Updates/1.10.1.php
index ac00818c2fe518202d6869959fe970142f3b641b..879a20de024653613b2f810e83c90c675d0fc2ca 100755
--- a/core/Updates/1.10.1.php
+++ b/core/Updates/1.10.1.php
@@ -22,7 +22,7 @@ class Piwik_Updates_1_10_1 extends Piwik_Updates
     static function update()
     {
         try {
-            Piwik_PluginsManager::getInstance()->activatePlugin('Overlay');
+            PluginsManager::getInstance()->activatePlugin('Overlay');
         } catch (Exception $e) {
             // pass
         }
diff --git a/core/Updates/1.11-b1.php b/core/Updates/1.11-b1.php
index 80bce9ce226e131546e1d91415c8b052b393d32c..9acfb359fa2c8b348604d6357b5a66f0e8d52659 100644
--- a/core/Updates/1.11-b1.php
+++ b/core/Updates/1.11-b1.php
@@ -22,7 +22,7 @@ class Piwik_Updates_1_11_b1 extends Piwik_Updates
     static function update()
     {
         try {
-            Piwik_PluginsManager::getInstance()->activatePlugin('UserCountryMap');
+            PluginsManager::getInstance()->activatePlugin('UserCountryMap');
         } catch (Exception $e) {
             // pass
         }
diff --git a/core/Updates/1.12-b15.php b/core/Updates/1.12-b15.php
index e746c282f0f309cef0604c7084432d3b6d57d2ad..49d72e21993df2d35a960a5110720277d1256c6c 100644
--- a/core/Updates/1.12-b15.php
+++ b/core/Updates/1.12-b15.php
@@ -17,7 +17,7 @@ class Piwik_Updates_1_12_b15 extends Piwik_Updates
     static function update()
     {
         try {
-            Piwik_PluginsManager::getInstance()->activatePlugin('SegmentEditor');
+            PluginsManager::getInstance()->activatePlugin('SegmentEditor');
         } catch (Exception $e) {
             // pass
         }
diff --git a/core/Updates/1.2-rc1.php b/core/Updates/1.2-rc1.php
index 02101697e72f050891c3b21ebad63fbe419f9c73..b7636a1225c085dfe7a67d16208dec7d5321d221 100644
--- a/core/Updates/1.2-rc1.php
+++ b/core/Updates/1.2-rc1.php
@@ -122,8 +122,8 @@ class Piwik_Updates_1_2_rc1 extends Piwik_Updates
         );
         $disabledPlugins = array();
         foreach ($pluginsToDisableMessage as $pluginToDisable => $warningMessage) {
-            if (Piwik_PluginsManager::getInstance()->isPluginActivated($pluginToDisable)) {
-                Piwik_PluginsManager::getInstance()->deactivatePlugin($pluginToDisable);
+            if (PluginsManager::getInstance()->isPluginActivated($pluginToDisable)) {
+                PluginsManager::getInstance()->deactivatePlugin($pluginToDisable);
                 $disabledPlugins[] = $warningMessage;
             }
         }
diff --git a/core/Updates/1.2-rc2.php b/core/Updates/1.2-rc2.php
index b3afa13cbe46b97f7e3b42a34e659f3fa4e94254..7f086ef56e65cbde97b4c8ee32de3478e1a64b44 100644
--- a/core/Updates/1.2-rc2.php
+++ b/core/Updates/1.2-rc2.php
@@ -17,7 +17,7 @@ class Piwik_Updates_1_2_rc2 extends Piwik_Updates
     static function update()
     {
         try {
-            Piwik_PluginsManager::getInstance()->activatePlugin('CustomVariables');
+            PluginsManager::getInstance()->activatePlugin('CustomVariables');
         } catch (Exception $e) {
         }
     }
diff --git a/core/Updates/1.5-rc6.php b/core/Updates/1.5-rc6.php
index af99ebe80f0911e6f94e86205ca58f94155a50ab..289f44b32bc0a4061c0e6322d6812d5260aaef5a 100644
--- a/core/Updates/1.5-rc6.php
+++ b/core/Updates/1.5-rc6.php
@@ -17,7 +17,7 @@ class Piwik_Updates_1_5_rc6 extends Piwik_Updates
     static function update()
     {
         try {
-            Piwik_PluginsManager::getInstance()->activatePlugin('PrivacyManager');
+            PluginsManager::getInstance()->activatePlugin('PrivacyManager');
         } catch (Exception $e) {
         }
     }
diff --git a/core/Updates/1.6-rc1.php b/core/Updates/1.6-rc1.php
index e66edc8992b434a755409e233e6dad13a33aa62e..91909b980e75616541281b74b7cba665ef3cf6d3 100644
--- a/core/Updates/1.6-rc1.php
+++ b/core/Updates/1.6-rc1.php
@@ -17,7 +17,7 @@ class Piwik_Updates_1_6_rc1 extends Piwik_Updates
     static function update()
     {
         try {
-            Piwik_PluginsManager::getInstance()->activatePlugin('ImageGraph');
+            PluginsManager::getInstance()->activatePlugin('ImageGraph');
         } catch (Exception $e) {
         }
     }
diff --git a/core/Updates/1.8.3-b1.php b/core/Updates/1.8.3-b1.php
index 77b9ffdf14b4e1af8700081d5147fc89da09cec7..334d1b9a0702c2a4d5aa76cee2ba90648eb1e8f3 100644
--- a/core/Updates/1.8.3-b1.php
+++ b/core/Updates/1.8.3-b1.php
@@ -43,7 +43,7 @@ class Piwik_Updates_1_8_3_b1 extends Piwik_Updates
     static function update()
     {
         Piwik_Updater::updateDatabase(__FILE__, self::getSql());
-        if (!Piwik_PluginsManager::getInstance()->isPluginLoaded('PDFReports')) {
+        if (!PluginsManager::getInstance()->isPluginLoaded('PDFReports')) {
             return;
         }
 
diff --git a/core/Updates/1.9-b19.php b/core/Updates/1.9-b19.php
index bb08141de3748d0b4a9bc7edb1eb6db7bb56e690..771459b99909798d06e51e26cb24b0b8a404b129 100755
--- a/core/Updates/1.9-b19.php
+++ b/core/Updates/1.9-b19.php
@@ -33,7 +33,7 @@ class Piwik_Updates_1_9_b19 extends Piwik_Updates
 
 
         try {
-            Piwik_PluginsManager::getInstance()->activatePlugin('Transitions');
+            PluginsManager::getInstance()->activatePlugin('Transitions');
         } catch (Exception $e) {
         }
     }
diff --git a/core/Updates/1.9.3-b10.php b/core/Updates/1.9.3-b10.php
index 6ceecbb67c61d5a3bd30babf7244bedc738d7f1a..0bdff3f7133a5ad558edcd9412388635aef74325 100755
--- a/core/Updates/1.9.3-b10.php
+++ b/core/Updates/1.9.3-b10.php
@@ -22,7 +22,7 @@ class Piwik_Updates_1_9_3_b10 extends Piwik_Updates
     static function update()
     {
         try {
-            Piwik_PluginsManager::getInstance()->activatePlugin('Annotations');
+            PluginsManager::getInstance()->activatePlugin('Annotations');
         } catch (Exception $e) {
             // pass
         }
diff --git a/core/Updates/1.9.3-b3.php b/core/Updates/1.9.3-b3.php
index 75c6c165c06bfc6b6bd94850386fd8e01c22ac43..67e84c635139358d8f3e2ef651e71ef5f544afad 100644
--- a/core/Updates/1.9.3-b3.php
+++ b/core/Updates/1.9.3-b3.php
@@ -19,9 +19,9 @@ class Piwik_Updates_1_9_3_b3 extends Piwik_Updates
         // Insight was a temporary code name for Overlay
         $pluginToDelete = 'Insight';
         self::deletePluginFromConfigFile($pluginToDelete);
-        Piwik_PluginsManager::getInstance()->deletePluginFromFilesystem($pluginToDelete);
+        PluginsManager::getInstance()->deletePluginFromFilesystem($pluginToDelete);
 
         // We also clean up 1.9.1 and delete Feedburner plugin
-        Piwik_PluginsManager::getInstance()->deletePluginFromFilesystem('Feedburner');
+        PluginsManager::getInstance()->deletePluginFromFilesystem('Feedburner');
     }
 }
diff --git a/core/ViewDataTable.php b/core/ViewDataTable.php
index 05b59f0b2991f82351693f7ba9c3dadacb660afa..5ad12b1aae64ebcd343eab8ffcb2c4713f96004c 100644
--- a/core/ViewDataTable.php
+++ b/core/ViewDataTable.php
@@ -9,7 +9,9 @@
  * @package Piwik
  */
 use Piwik\Config;
+use Piwik\Metrics;
 use Piwik\Period;
+use Piwik\Period_Range;
 use Piwik\Piwik;
 use Piwik\Common;
 use Piwik\Site;
@@ -175,8 +177,8 @@ abstract class Piwik_ViewDataTable
         $this->viewProperties['filter_sort_order'] = false;
         $this->viewProperties['custom_parameters'] = array();
         $this->viewProperties['translations'] = array_merge(
-            Piwik_Metrics::getDefaultMetrics(),
-            Piwik_Metrics::getDefaultProcessedMetrics()
+            Metrics::getDefaultMetrics(),
+            Metrics::getDefaultProcessedMetrics()
         );
         $this->viewProperties['request_parameters_to_modify'] = array();
         $this->viewProperties['columns_to_display'] = array();
@@ -375,7 +377,7 @@ abstract class Piwik_ViewDataTable
         $this->viewProperties['report_id'] = $currentControllerName . '.' . $currentControllerAction;
         $this->viewProperties['self_url'] = $this->getBaseReportUrl($currentControllerName, $currentControllerAction);
         
-        if (!Piwik_PluginsManager::getInstance()->isPluginActivated('Goals')) {
+        if (!PluginsManager::getInstance()->isPluginActivated('Goals')) {
             $this->viewProperties['show_goals'] = false;
         }
         
@@ -838,8 +840,8 @@ abstract class Piwik_ViewDataTable
             // which can be different from the one specified (eg. if the column doesn't exist)
             $javascriptVariablesToSet['filter_sort_column'] = $this->dataTable->getSortedByColumnName();
             // datatable can return "2" but we want to write "nb_visits" in the js
-            if (isset(Piwik_Metrics::$mappingFromIdToName[$javascriptVariablesToSet['filter_sort_column']])) {
-                $javascriptVariablesToSet['filter_sort_column'] = Piwik_Metrics::$mappingFromIdToName[$javascriptVariablesToSet['filter_sort_column']];
+            if (isset(Metrics::$mappingFromIdToName[$javascriptVariablesToSet['filter_sort_column']])) {
+                $javascriptVariablesToSet['filter_sort_column'] = Metrics::$mappingFromIdToName[$javascriptVariablesToSet['filter_sort_column']];
             }
         }
 
@@ -1059,7 +1061,7 @@ abstract class Piwik_ViewDataTable
      */
     public function showAnnotationsView()
     {
-        if (!Piwik_PluginsManager::getInstance()->isPluginLoaded('Annotations')) {
+        if (!PluginsManager::getInstance()->isPluginLoaded('Annotations')) {
             return;
         }
 
@@ -1111,7 +1113,7 @@ abstract class Piwik_ViewDataTable
      */
     public function enableShowGoals()
     {
-        if (Piwik_PluginsManager::getInstance()->isPluginActivated('Goals')) {
+        if (PluginsManager::getInstance()->isPluginActivated('Goals')) {
             $this->viewProperties['show_goals'] = true;
         }
     }
@@ -1185,7 +1187,7 @@ abstract class Piwik_ViewDataTable
     /**
      * Sets the dataTable column to sort by. This sorting will be applied before applying the (offset, limit) filter.
      *
-     * @param int|string $columnId eg. 'nb_visits' for some tables, or Piwik_Metrics::INDEX_NB_VISITS for others
+     * @param int|string $columnId eg. 'nb_visits' for some tables, or Metrics::INDEX_NB_VISITS for others
      * @param string $order desc or asc
      */
     public function setSortedColumn($columnId, $order = 'desc')
@@ -1535,7 +1537,7 @@ abstract class Piwik_ViewDataTable
                     $timezone = 'UTC';
                 }
 
-                $period = new Piwik_Period_Range('range', $strDate, $timezone);
+                $period = new Period_Range('range', $strDate, $timezone);
                 $reportDate = $period->getDateStart();
             } // if a multiple period, this function is irrelevant
             else if (Period::isMultiplePeriod($strDate, $strPeriod)) {
@@ -1631,8 +1633,8 @@ abstract class Piwik_ViewDataTable
             foreach ($columns as $column) {
                 // check for the column name and its associated integer INDEX_ value
                 if ($column == $columnToCheckFor
-                    || (isset(Piwik_Metrics::$mappingFromNameToId[$columnToCheckFor])
-                        && $column == Piwik_Metrics::$mappingFromNameToId[$columnToCheckFor])
+                    || (isset(Metrics::$mappingFromNameToId[$columnToCheckFor])
+                        && $column == Metrics::$mappingFromNameToId[$columnToCheckFor])
                 ) {
                     return true;
                 }
diff --git a/core/ViewDataTable/GenerateGraphHTML/ChartEvolution.php b/core/ViewDataTable/GenerateGraphHTML/ChartEvolution.php
index 9fd005e1329cc258ed8ed73e2a3cebadf3964b43..38392bf71aefff24584e440ee0ef316d2ea48531 100644
--- a/core/ViewDataTable/GenerateGraphHTML/ChartEvolution.php
+++ b/core/ViewDataTable/GenerateGraphHTML/ChartEvolution.php
@@ -10,6 +10,7 @@
  */
 
 use Piwik\Common;
+use Piwik\Period_Range;
 use Piwik\Site;
 
 /**
@@ -98,10 +99,10 @@ class Piwik_ViewDataTable_GenerateGraphHTML_ChartEvolution extends Piwik_ViewDat
             $this->alwaysShowLimitDropdown();
 
             // set the evolution_{$period}_last_n query param
-            if (Piwik_Period_Range::parseDateRange($this->originalDate)) // if a multiple period
+            if (Period_Range::parseDateRange($this->originalDate)) // if a multiple period
             {
                 // overwrite last_n param using the date range
-                $oPeriod = new Piwik_Period_Range($period, $this->originalDate);
+                $oPeriod = new Period_Range($period, $this->originalDate);
                 $lastN = count($oPeriod->getSubperiods());
             } else // if not a multiple period
             {
diff --git a/plugins/API/API.php b/plugins/API/API.php
index f55d83b9343610d216d51883e4a6f4342fc076da..b93dae790256166c60d079e184353ed0b61df381 100644
--- a/plugins/API/API.php
+++ b/plugins/API/API.php
@@ -8,6 +8,7 @@
  * @category Piwik_Plugins
  * @package Piwik_API
  */
+use Piwik\Metrics;
 use Piwik\Piwik;
 use Piwik\Common;
 use Piwik\Config;
@@ -119,7 +120,7 @@ class Piwik_API_API
      */
     static public function getDefaultMetricTranslations()
     {
-        return Piwik_Metrics::getDefaultMetricTranslations();
+        return Metrics::getDefaultMetricTranslations();
     }
 
     public function getSegmentsMetadata($idSites = array(), $_hideImplementationData = true)
diff --git a/plugins/API/ProcessedReport.php b/plugins/API/ProcessedReport.php
index 1788ce79c85313f87bed47d87487fcbe7c7c2b42..db30a136486c40b54127a2d9bef1cc63b78f06e7 100644
--- a/plugins/API/ProcessedReport.php
+++ b/plugins/API/ProcessedReport.php
@@ -1,4 +1,5 @@
 <?php
+use Piwik\Metrics;
 use Piwik\Period;
 use Piwik\Piwik;
 use Piwik\Common;
@@ -77,10 +78,10 @@ class Piwik_API_ProcessedReport
         Piwik_PostEvent('API.getReportMetadata', array(&$availableReports, $parameters));
         foreach ($availableReports as &$availableReport) {
             if (!isset($availableReport['metrics'])) {
-                $availableReport['metrics'] = Piwik_Metrics::getDefaultMetrics();
+                $availableReport['metrics'] = Metrics::getDefaultMetrics();
             }
             if (!isset($availableReport['processedMetrics'])) {
-                $availableReport['processedMetrics'] = Piwik_Metrics::getDefaultProcessedMetrics();
+                $availableReport['processedMetrics'] = Metrics::getDefaultProcessedMetrics();
             }
 
             if ($hideMetricsDoc) // remove metric documentation if it's not wanted
@@ -88,7 +89,7 @@ class Piwik_API_ProcessedReport
                 unset($availableReport['metricsDocumentation']);
             } else if (!isset($availableReport['metricsDocumentation'])) {
                 // set metric documentation to default if it's not set
-                $availableReport['metricsDocumentation'] = Piwik_Metrics::getDefaultMetricsDocumentation();
+                $availableReport['metricsDocumentation'] = Metrics::getDefaultMetricsDocumentation();
             }
         }
 
@@ -101,7 +102,7 @@ class Piwik_API_ProcessedReport
         // Add the magic API.get report metadata aggregating all plugins API.get API calls automatically
         $this->addApiGetMetdata($availableReports);
 
-        $knownMetrics = array_merge(Piwik_Metrics::getDefaultMetrics(), Piwik_Metrics::getDefaultProcessedMetrics());
+        $knownMetrics = array_merge(Metrics::getDefaultMetrics(), Metrics::getDefaultProcessedMetrics());
         foreach ($availableReports as &$availableReport) {
             // Ensure all metrics have a translation
             $metrics = $availableReport['metrics'];
@@ -327,7 +328,7 @@ class Piwik_API_ProcessedReport
             );
 
             if (isset($reportMetadata['processedMetrics'])) {
-                $processedMetricsAdded = Piwik_Metrics::getDefaultProcessedMetrics();
+                $processedMetricsAdded = Metrics::getDefaultProcessedMetrics();
                 foreach ($processedMetricsAdded as $processedMetricId => $processedMetricTranslation) {
                     // this processed metric can be displayed for this report
                     if (isset($reportMetadata['processedMetrics'][$processedMetricId])) {
diff --git a/plugins/API/RowEvolution.php b/plugins/API/RowEvolution.php
index cd7f469b94dc30d5d9eeeb518349fc65b88a840e..13b1250a1c8cc981216f68e30ffaf63a400cbe4b 100644
--- a/plugins/API/RowEvolution.php
+++ b/plugins/API/RowEvolution.php
@@ -221,7 +221,7 @@ class Piwik_API_RowEvolution
 
         // add "processed metrics" like actions per visit or bounce rate
         // note: some reports should not be filtered with AddColumnProcessedMetrics
-        // specifically, reports without the Piwik_Metrics::INDEX_NB_VISITS metric such as Goals.getVisitsUntilConversion & Goal.getDaysToConversion
+        // specifically, reports without the Metrics::INDEX_NB_VISITS metric such as Goals.getVisitsUntilConversion & Goal.getDaysToConversion
         // this is because the AddColumnProcessedMetrics filter removes all datable rows lacking this metric
         if
         (
diff --git a/plugins/Actions/API.php b/plugins/Actions/API.php
index 3c824c574f9b140943d3795e1c6fe2dbdfe45b73..0262f807e0df3bc674a8dc42899fe7f6d6cc675f 100644
--- a/plugins/Actions/API.php
+++ b/plugins/Actions/API.php
@@ -9,6 +9,7 @@
  * @package Piwik_Actions
  */
 use Piwik\Archive;
+use Piwik\Metrics;
 use Piwik\Piwik;
 use Piwik\Common;
 
@@ -277,7 +278,7 @@ class Piwik_Actions_API
     public function getSiteSearchKeywords($idSite, $period, $date, $segment = false)
     {
         $dataTable = $this->getSiteSearchKeywordsRaw($idSite, $period, $date, $segment);
-        $dataTable->deleteColumn(Piwik_Metrics::INDEX_SITE_SEARCH_HAS_NO_RESULT);
+        $dataTable->deleteColumn(Metrics::INDEX_SITE_SEARCH_HAS_NO_RESULT);
         $this->filterPageDatatable($dataTable);
         $this->filterActionsDataTable($dataTable);
         $this->addPagesPerSearchColumn($dataTable);
@@ -302,11 +303,11 @@ class Piwik_Actions_API
         // Delete all rows that have some results
         $dataTable->filter('ColumnCallbackDeleteRow',
             array(
-                 Piwik_Metrics::INDEX_SITE_SEARCH_HAS_NO_RESULT,
+                 Metrics::INDEX_SITE_SEARCH_HAS_NO_RESULT,
                  create_function('$value', 'return $value >= 1;')
             ));
         $dataTable->deleteRow(Piwik_DataTable::ID_SUMMARY_ROW);
-        $dataTable->deleteColumn(Piwik_Metrics::INDEX_SITE_SEARCH_HAS_NO_RESULT);
+        $dataTable->deleteColumn(Metrics::INDEX_SITE_SEARCH_HAS_NO_RESULT);
         $this->filterPageDatatable($dataTable);
         $this->filterActionsDataTable($dataTable);
         $this->addPagesPerSearchColumn($dataTable);
@@ -472,7 +473,7 @@ class Piwik_Actions_API
         $dataTable->queueFilter('ColumnCallbackAddColumnPercentage', array('exit_rate', 'exit_nb_visits', 'nb_visits', 0));
 
         // Handle performance analytics
-        $hasTimeGeneration = (array_sum($dataTable->getColumn(Piwik_Metrics::INDEX_PAGE_SUM_TIME_GENERATION)) > 0);
+        $hasTimeGeneration = (array_sum($dataTable->getColumn(Metrics::INDEX_PAGE_SUM_TIME_GENERATION)) > 0);
         if ($hasTimeGeneration) {
             // Average generation time = total generation time / number of pageviews
             $precisionAvgTimeGeneration = 3;
@@ -482,10 +483,10 @@ class Piwik_Actions_API
             // No generation time: remove it from the API output and add it to empty_columns metadata, so that
             // the columns can also be removed from the view
             $dataTable->filter('ColumnDelete', array(array(
-                                                         Piwik_Metrics::INDEX_PAGE_SUM_TIME_GENERATION,
-                                                         Piwik_Metrics::INDEX_PAGE_NB_HITS_WITH_TIME_GENERATION,
-                                                         Piwik_Metrics::INDEX_PAGE_MIN_TIME_GENERATION,
-                                                         Piwik_Metrics::INDEX_PAGE_MAX_TIME_GENERATION
+                                                         Metrics::INDEX_PAGE_SUM_TIME_GENERATION,
+                                                         Metrics::INDEX_PAGE_NB_HITS_WITH_TIME_GENERATION,
+                                                         Metrics::INDEX_PAGE_MIN_TIME_GENERATION,
+                                                         Metrics::INDEX_PAGE_MAX_TIME_GENERATION
                                                      )));
 
             if ($dataTable instanceof Piwik_DataTable) {
diff --git a/plugins/Actions/Actions.php b/plugins/Actions/Actions.php
index cb8716aba050680a76ece6237738630e81a92354..03109bfdb983c33e647f13790525359dec0bb825 100644
--- a/plugins/Actions/Actions.php
+++ b/plugins/Actions/Actions.php
@@ -10,6 +10,7 @@
  */
 use Piwik\Piwik;
 use Piwik\Common;
+use Piwik\SegmentExpression;
 use Piwik\Site;
 
 /**
@@ -148,8 +149,8 @@ class Piwik_Actions extends Piwik_Plugin
         $valueToMatch = Common::sanitizeInputValue(Common::unsanitizeInputValue($valueToMatch));
 
         // exact matches work by returning the id directly
-        if ($matchType == Piwik_SegmentExpression::MATCH_EQUAL
-            || $matchType == Piwik_SegmentExpression::MATCH_NOT_EQUAL
+        if ($matchType == SegmentExpression::MATCH_EQUAL
+            || $matchType == SegmentExpression::MATCH_NOT_EQUAL
         ) {
             $sql = Piwik_Tracker_Action::getSqlSelectActionId();
             $bind = array($valueToMatch, $valueToMatch, $actionType);
@@ -596,7 +597,7 @@ class Piwik_Actions extends Piwik_Plugin
 
     static protected function isCustomVariablesPluginsEnabled()
     {
-        return Piwik_PluginsManager::getInstance()->isPluginActivated('CustomVariables');
+        return PluginsManager::getInstance()->isPluginActivated('CustomVariables');
     }
 
     /**
diff --git a/plugins/Actions/Archiver.php b/plugins/Actions/Archiver.php
index c4a2bf24afcbaf58f7d7722eb914427da67625c6..f512bd36eab435cd86b92bb61d58a47658e3ecee 100644
--- a/plugins/Actions/Archiver.php
+++ b/plugins/Actions/Archiver.php
@@ -9,6 +9,7 @@
  * @package Piwik_Actions
  */
 use Piwik\Config;
+use Piwik\Metrics;
 
 /**
  * Class encapsulating logic to process Day/Period Archiving for the Actions reports
@@ -54,18 +55,18 @@ class Piwik_Actions_Archiver extends Piwik_PluginsArchiver
         Piwik_Tracker_Action::TYPE_SITE_SEARCH,
     );
     static protected $invalidSummedColumnNameToRenamedNameFromPeriodArchive = array(
-        Piwik_Metrics::INDEX_NB_UNIQ_VISITORS            => Piwik_Metrics::INDEX_SUM_DAILY_NB_UNIQ_VISITORS,
-        Piwik_Metrics::INDEX_PAGE_ENTRY_NB_UNIQ_VISITORS => Piwik_Metrics::INDEX_PAGE_ENTRY_SUM_DAILY_NB_UNIQ_VISITORS,
-        Piwik_Metrics::INDEX_PAGE_EXIT_NB_UNIQ_VISITORS  => Piwik_Metrics::INDEX_PAGE_EXIT_SUM_DAILY_NB_UNIQ_VISITORS,
+        Metrics::INDEX_NB_UNIQ_VISITORS            => Metrics::INDEX_SUM_DAILY_NB_UNIQ_VISITORS,
+        Metrics::INDEX_PAGE_ENTRY_NB_UNIQ_VISITORS => Metrics::INDEX_PAGE_ENTRY_SUM_DAILY_NB_UNIQ_VISITORS,
+        Metrics::INDEX_PAGE_EXIT_NB_UNIQ_VISITORS  => Metrics::INDEX_PAGE_EXIT_SUM_DAILY_NB_UNIQ_VISITORS,
     );
     static protected $invalidSummedColumnNameToDeleteFromDayArchive = array(
-        Piwik_Metrics::INDEX_NB_UNIQ_VISITORS,
-        Piwik_Metrics::INDEX_PAGE_ENTRY_NB_UNIQ_VISITORS,
-        Piwik_Metrics::INDEX_PAGE_EXIT_NB_UNIQ_VISITORS,
+        Metrics::INDEX_NB_UNIQ_VISITORS,
+        Metrics::INDEX_PAGE_ENTRY_NB_UNIQ_VISITORS,
+        Metrics::INDEX_PAGE_EXIT_NB_UNIQ_VISITORS,
     );
     private static $actionColumnAggregationOperations = array(
-        Piwik_Metrics::INDEX_PAGE_MAX_TIME_GENERATION => 'max',
-        Piwik_Metrics::INDEX_PAGE_MIN_TIME_GENERATION => 'min'
+        Metrics::INDEX_PAGE_MAX_TIME_GENERATION => 'max',
+        Metrics::INDEX_PAGE_MIN_TIME_GENERATION => 'min'
     );
     protected $actionsTablesByType = null;
     protected $isSiteSearchEnabled = false;
@@ -171,25 +172,25 @@ class Piwik_Actions_Archiver extends Piwik_PluginsArchiver
 				log_action.type,
 				log_action.idaction,
 				log_action.url_prefix,
-				count(distinct log_link_visit_action.idvisit) as `" . Piwik_Metrics::INDEX_NB_VISITS . "`,
-				count(distinct log_link_visit_action.idvisitor) as `" . Piwik_Metrics::INDEX_NB_UNIQ_VISITORS . "`,
-				count(*) as `" . Piwik_Metrics::INDEX_PAGE_NB_HITS . "`,
+				count(distinct log_link_visit_action.idvisit) as `" . Metrics::INDEX_NB_VISITS . "`,
+				count(distinct log_link_visit_action.idvisitor) as `" . Metrics::INDEX_NB_UNIQ_VISITORS . "`,
+				count(*) as `" . Metrics::INDEX_PAGE_NB_HITS . "`,
 				sum(
 					case when " . Piwik_Tracker_Action::DB_COLUMN_TIME_GENERATION . " is null
 						then 0
 						else " . Piwik_Tracker_Action::DB_COLUMN_TIME_GENERATION . "
 					end
-				) / 1000 as `" . Piwik_Metrics::INDEX_PAGE_SUM_TIME_GENERATION . "`,
+				) / 1000 as `" . Metrics::INDEX_PAGE_SUM_TIME_GENERATION . "`,
 				sum(
 					case when " . Piwik_Tracker_Action::DB_COLUMN_TIME_GENERATION . " is null
 						then 0
 						else 1
 					end
-				) as `" . Piwik_Metrics::INDEX_PAGE_NB_HITS_WITH_TIME_GENERATION . "`,
+				) as `" . Metrics::INDEX_PAGE_NB_HITS_WITH_TIME_GENERATION . "`,
 				min(" . Piwik_Tracker_Action::DB_COLUMN_TIME_GENERATION . ") / 1000
-				    as `" . Piwik_Metrics::INDEX_PAGE_MIN_TIME_GENERATION . "`,
+				    as `" . Metrics::INDEX_PAGE_MIN_TIME_GENERATION . "`,
 				max(" . Piwik_Tracker_Action::DB_COLUMN_TIME_GENERATION . ") / 1000
-                    as `" . Piwik_Metrics::INDEX_PAGE_MAX_TIME_GENERATION . "`
+                    as `" . Metrics::INDEX_PAGE_MAX_TIME_GENERATION . "`
 				";
 
         $from = array(
@@ -206,23 +207,23 @@ class Piwik_Actions_Archiver extends Piwik_PluginsArchiver
 				AND log_link_visit_action.%s IS NOT NULL";
 
         $groupBy = "log_action.idaction";
-        $orderBy = "`" . Piwik_Metrics::INDEX_PAGE_NB_HITS . "` DESC, name ASC";
+        $orderBy = "`" . Metrics::INDEX_PAGE_NB_HITS . "` DESC, name ASC";
 
         $rankingQuery = false;
         if ($rankingQueryLimit > 0) {
             $rankingQuery = new Piwik_RankingQuery($rankingQueryLimit);
             $rankingQuery->setOthersLabel(Piwik_DataTable::LABEL_SUMMARY_ROW);
             $rankingQuery->addLabelColumn(array('idaction', 'name'));
-            $rankingQuery->addColumn(array('url_prefix', Piwik_Metrics::INDEX_NB_UNIQ_VISITORS));
-            $rankingQuery->addColumn(array(Piwik_Metrics::INDEX_PAGE_NB_HITS, Piwik_Metrics::INDEX_NB_VISITS), 'sum');
+            $rankingQuery->addColumn(array('url_prefix', Metrics::INDEX_NB_UNIQ_VISITORS));
+            $rankingQuery->addColumn(array(Metrics::INDEX_PAGE_NB_HITS, Metrics::INDEX_NB_VISITS), 'sum');
             if ($this->isSiteSearchEnabled()) {
-                $rankingQuery->addColumn(Piwik_Metrics::INDEX_SITE_SEARCH_HAS_NO_RESULT, 'min');
-                $rankingQuery->addColumn(Piwik_Metrics::INDEX_PAGE_IS_FOLLOWING_SITE_SEARCH_NB_HITS, 'sum');
+                $rankingQuery->addColumn(Metrics::INDEX_SITE_SEARCH_HAS_NO_RESULT, 'min');
+                $rankingQuery->addColumn(Metrics::INDEX_PAGE_IS_FOLLOWING_SITE_SEARCH_NB_HITS, 'sum');
             }
-            $rankingQuery->addColumn(Piwik_Metrics::INDEX_PAGE_SUM_TIME_GENERATION, 'sum');
-            $rankingQuery->addColumn(Piwik_Metrics::INDEX_PAGE_NB_HITS_WITH_TIME_GENERATION, 'sum');
-            $rankingQuery->addColumn(Piwik_Metrics::INDEX_PAGE_MIN_TIME_GENERATION, 'min');
-            $rankingQuery->addColumn(Piwik_Metrics::INDEX_PAGE_MAX_TIME_GENERATION, 'max');
+            $rankingQuery->addColumn(Metrics::INDEX_PAGE_SUM_TIME_GENERATION, 'sum');
+            $rankingQuery->addColumn(Metrics::INDEX_PAGE_NB_HITS_WITH_TIME_GENERATION, 'sum');
+            $rankingQuery->addColumn(Metrics::INDEX_PAGE_MIN_TIME_GENERATION, 'min');
+            $rankingQuery->addColumn(Metrics::INDEX_PAGE_MAX_TIME_GENERATION, 'max');
             $rankingQuery->partitionResultIntoMultipleGroups('type', array_keys($this->actionsTablesByType));
         }
 
@@ -231,7 +232,7 @@ class Piwik_Actions_Archiver extends Piwik_PluginsArchiver
         // 2) For each page view, count number of times the referrer page was a Site Search
         if ($this->isSiteSearchEnabled()) {
             $selectFlagNoResultKeywords = ",
-				CASE WHEN (MAX(log_link_visit_action.custom_var_v" . Piwik_Tracker_Action::CVAR_INDEX_SEARCH_COUNT . ") = 0 AND log_link_visit_action.custom_var_k" . Piwik_Tracker_Action::CVAR_INDEX_SEARCH_COUNT . " = '" . Piwik_Tracker_Action::CVAR_KEY_SEARCH_COUNT . "') THEN 1 ELSE 0 END AS `" . Piwik_Metrics::INDEX_SITE_SEARCH_HAS_NO_RESULT . "`";
+				CASE WHEN (MAX(log_link_visit_action.custom_var_v" . Piwik_Tracker_Action::CVAR_INDEX_SEARCH_COUNT . ") = 0 AND log_link_visit_action.custom_var_k" . Piwik_Tracker_Action::CVAR_INDEX_SEARCH_COUNT . " = '" . Piwik_Tracker_Action::CVAR_KEY_SEARCH_COUNT . "') THEN 1 ELSE 0 END AS `" . Metrics::INDEX_SITE_SEARCH_HAS_NO_RESULT . "`";
 
             //we need an extra JOIN to know whether the referrer "idaction_name_ref" was a Site Search request
             $from[] = array(
@@ -241,7 +242,7 @@ class Piwik_Actions_Archiver extends Piwik_PluginsArchiver
             );
 
             $selectSiteSearchFollowingPages = ",
-				SUM(CASE WHEN log_action_name_ref.type = " . Piwik_Tracker_Action::TYPE_SITE_SEARCH . " THEN 1 ELSE 0 END) AS `" . Piwik_Metrics::INDEX_PAGE_IS_FOLLOWING_SITE_SEARCH_NB_HITS . "`";
+				SUM(CASE WHEN log_action_name_ref.type = " . Piwik_Tracker_Action::TYPE_SITE_SEARCH . " THEN 1 ELSE 0 END) AS `" . Metrics::INDEX_PAGE_IS_FOLLOWING_SITE_SEARCH_NB_HITS . "`";
 
             $select .= $selectFlagNoResultKeywords
                 . $selectSiteSearchFollowingPages;
@@ -292,11 +293,11 @@ class Piwik_Actions_Archiver extends Piwik_PluginsArchiver
             $rankingQuery = new Piwik_RankingQuery($rankingQueryLimit);
             $rankingQuery->setOthersLabel(Piwik_DataTable::LABEL_SUMMARY_ROW);
             $rankingQuery->addLabelColumn('idaction');
-            $rankingQuery->addColumn(Piwik_Metrics::INDEX_PAGE_ENTRY_NB_UNIQ_VISITORS);
-            $rankingQuery->addColumn(array(Piwik_Metrics::INDEX_PAGE_ENTRY_NB_VISITS,
-                                           Piwik_Metrics::INDEX_PAGE_ENTRY_NB_ACTIONS,
-                                           Piwik_Metrics::INDEX_PAGE_ENTRY_SUM_VISIT_LENGTH,
-                                           Piwik_Metrics::INDEX_PAGE_ENTRY_BOUNCE_COUNT), 'sum');
+            $rankingQuery->addColumn(Metrics::INDEX_PAGE_ENTRY_NB_UNIQ_VISITORS);
+            $rankingQuery->addColumn(array(Metrics::INDEX_PAGE_ENTRY_NB_VISITS,
+                                           Metrics::INDEX_PAGE_ENTRY_NB_ACTIONS,
+                                           Metrics::INDEX_PAGE_ENTRY_SUM_VISIT_LENGTH,
+                                           Metrics::INDEX_PAGE_ENTRY_BOUNCE_COUNT), 'sum');
             $rankingQuery->partitionResultIntoMultipleGroups('type', array_keys($this->actionsTablesByType));
 
             $extraSelects = 'log_action.type, log_action.name,';
@@ -307,7 +308,7 @@ class Piwik_Actions_Archiver extends Piwik_PluginsArchiver
                     "joinOn" => "log_visit.%s = log_action.idaction"
                 )
             );
-            $orderBy = "`" . Piwik_Metrics::INDEX_PAGE_ENTRY_NB_ACTIONS . "` DESC, log_action.name ASC";
+            $orderBy = "`" . Metrics::INDEX_PAGE_ENTRY_NB_ACTIONS . "` DESC, log_action.name ASC";
         } else {
             $extraSelects = false;
             $from = "log_visit";
@@ -315,11 +316,11 @@ class Piwik_Actions_Archiver extends Piwik_PluginsArchiver
         }
 
         $select = "log_visit.%s as idaction, $extraSelects
-				count(distinct log_visit.idvisitor) as `" . Piwik_Metrics::INDEX_PAGE_ENTRY_NB_UNIQ_VISITORS . "`,
-				count(*) as `" . Piwik_Metrics::INDEX_PAGE_ENTRY_NB_VISITS . "`,
-				sum(log_visit.visit_total_actions) as `" . Piwik_Metrics::INDEX_PAGE_ENTRY_NB_ACTIONS . "`,
-				sum(log_visit.visit_total_time) as `" . Piwik_Metrics::INDEX_PAGE_ENTRY_SUM_VISIT_LENGTH . "`,
-				sum(case log_visit.visit_total_actions when 1 then 1 when 0 then 1 else 0 end) as `" . Piwik_Metrics::INDEX_PAGE_ENTRY_BOUNCE_COUNT . "`";
+				count(distinct log_visit.idvisitor) as `" . Metrics::INDEX_PAGE_ENTRY_NB_UNIQ_VISITORS . "`,
+				count(*) as `" . Metrics::INDEX_PAGE_ENTRY_NB_VISITS . "`,
+				sum(log_visit.visit_total_actions) as `" . Metrics::INDEX_PAGE_ENTRY_NB_ACTIONS . "`,
+				sum(log_visit.visit_total_time) as `" . Metrics::INDEX_PAGE_ENTRY_SUM_VISIT_LENGTH . "`,
+				sum(case log_visit.visit_total_actions when 1 then 1 when 0 then 1 else 0 end) as `" . Metrics::INDEX_PAGE_ENTRY_BOUNCE_COUNT . "`";
 
         $where = "log_visit.visit_last_action_time >= ?
 				AND log_visit.visit_last_action_time <= ?
@@ -343,8 +344,8 @@ class Piwik_Actions_Archiver extends Piwik_PluginsArchiver
             $rankingQuery = new Piwik_RankingQuery($rankingQueryLimit);
             $rankingQuery->setOthersLabel(Piwik_DataTable::LABEL_SUMMARY_ROW);
             $rankingQuery->addLabelColumn('idaction');
-            $rankingQuery->addColumn(Piwik_Metrics::INDEX_PAGE_EXIT_NB_UNIQ_VISITORS);
-            $rankingQuery->addColumn(Piwik_Metrics::INDEX_PAGE_EXIT_NB_VISITS, 'sum');
+            $rankingQuery->addColumn(Metrics::INDEX_PAGE_EXIT_NB_UNIQ_VISITORS);
+            $rankingQuery->addColumn(Metrics::INDEX_PAGE_EXIT_NB_VISITS, 'sum');
             $rankingQuery->partitionResultIntoMultipleGroups('type', array_keys($this->actionsTablesByType));
 
             $extraSelects = 'log_action.type, log_action.name,';
@@ -355,7 +356,7 @@ class Piwik_Actions_Archiver extends Piwik_PluginsArchiver
                     "joinOn" => "log_visit.%s = log_action.idaction"
                 )
             );
-            $orderBy = "`" . Piwik_Metrics::INDEX_PAGE_EXIT_NB_VISITS . "` DESC, log_action.name ASC";
+            $orderBy = "`" . Metrics::INDEX_PAGE_EXIT_NB_VISITS . "` DESC, log_action.name ASC";
         } else {
             $extraSelects = false;
             $from = "log_visit";
@@ -363,8 +364,8 @@ class Piwik_Actions_Archiver extends Piwik_PluginsArchiver
         }
 
         $select = "log_visit.%s as idaction, $extraSelects
-				count(distinct log_visit.idvisitor) as `" . Piwik_Metrics::INDEX_PAGE_EXIT_NB_UNIQ_VISITORS . "`,
-				count(*) as `" . Piwik_Metrics::INDEX_PAGE_EXIT_NB_VISITS . "`";
+				count(distinct log_visit.idvisitor) as `" . Metrics::INDEX_PAGE_EXIT_NB_UNIQ_VISITORS . "`,
+				count(*) as `" . Metrics::INDEX_PAGE_EXIT_NB_VISITS . "`";
 
         $where = "log_visit.visit_last_action_time >= ?
 				AND log_visit.visit_last_action_time <= ?
@@ -389,10 +390,10 @@ class Piwik_Actions_Archiver extends Piwik_PluginsArchiver
             $rankingQuery = new Piwik_RankingQuery($rankingQueryLimit);
             $rankingQuery->setOthersLabel(Piwik_DataTable::LABEL_SUMMARY_ROW);
             $rankingQuery->addLabelColumn('idaction');
-            $rankingQuery->addColumn(Piwik_Metrics::INDEX_PAGE_SUM_TIME_SPENT, 'sum');
+            $rankingQuery->addColumn(Metrics::INDEX_PAGE_SUM_TIME_SPENT, 'sum');
             $rankingQuery->partitionResultIntoMultipleGroups('type', array_keys($this->actionsTablesByType));
 
-            $extraSelects = "log_action.type, log_action.name, count(*) as `" . Piwik_Metrics::INDEX_PAGE_NB_HITS . "`,";
+            $extraSelects = "log_action.type, log_action.name, count(*) as `" . Metrics::INDEX_PAGE_NB_HITS . "`,";
             $from = array(
                 "log_link_visit_action",
                 array(
@@ -400,7 +401,7 @@ class Piwik_Actions_Archiver extends Piwik_PluginsArchiver
                     "joinOn" => "log_link_visit_action.%s = log_action.idaction"
                 )
             );
-            $orderBy = "`" . Piwik_Metrics::INDEX_PAGE_NB_HITS . "` DESC, log_action.name ASC";
+            $orderBy = "`" . Metrics::INDEX_PAGE_NB_HITS . "` DESC, log_action.name ASC";
         } else {
             $extraSelects = false;
             $from = "log_link_visit_action";
@@ -408,7 +409,7 @@ class Piwik_Actions_Archiver extends Piwik_PluginsArchiver
         }
 
         $select = "log_link_visit_action.%s as idaction, $extraSelects
-				sum(log_link_visit_action.time_spent_ref_action) as `" . Piwik_Metrics::INDEX_PAGE_SUM_TIME_SPENT . "`";
+				sum(log_link_visit_action.time_spent_ref_action) as `" . Metrics::INDEX_PAGE_SUM_TIME_SPENT . "`";
 
         $where = "log_link_visit_action.server_time >= ?
 				AND log_link_visit_action.server_time <= ?
@@ -443,10 +444,10 @@ class Piwik_Actions_Archiver extends Piwik_PluginsArchiver
         $this->recordDataTable($dataTable, self::PAGE_URLS_RECORD_NAME);
 
         $records = array(
-            self::METRIC_PAGEVIEWS_RECORD_NAME => array_sum($dataTable->getColumn(Piwik_Metrics::INDEX_PAGE_NB_HITS)),
-            self::METRIC_UNIQ_PAGEVIEWS_RECORD_NAME => array_sum($dataTable->getColumn(Piwik_Metrics::INDEX_NB_VISITS)),
-            self::METRIC_SUM_TIME_RECORD_NAME => array_sum($dataTable->getColumn(Piwik_Metrics::INDEX_PAGE_SUM_TIME_GENERATION)),
-            self::METRIC_HITS_TIMED_RECORD_NAME => array_sum($dataTable->getColumn(Piwik_Metrics::INDEX_PAGE_NB_HITS_WITH_TIME_GENERATION))
+            self::METRIC_PAGEVIEWS_RECORD_NAME => array_sum($dataTable->getColumn(Metrics::INDEX_PAGE_NB_HITS)),
+            self::METRIC_UNIQ_PAGEVIEWS_RECORD_NAME => array_sum($dataTable->getColumn(Metrics::INDEX_NB_VISITS)),
+            self::METRIC_SUM_TIME_RECORD_NAME => array_sum($dataTable->getColumn(Metrics::INDEX_PAGE_SUM_TIME_GENERATION)),
+            self::METRIC_HITS_TIMED_RECORD_NAME => array_sum($dataTable->getColumn(Metrics::INDEX_PAGE_NB_HITS_WITH_TIME_GENERATION))
         );
         $this->getProcessor()->insertNumericRecords( $records );
     }
@@ -502,7 +503,7 @@ class Piwik_Actions_Archiver extends Piwik_PluginsArchiver
     {
         // Delete all columns that have a value of zero
         $dataTable->filter('ColumnDelete', array(
-                                                $columnsToRemove = array(Piwik_Metrics::INDEX_PAGE_IS_FOLLOWING_SITE_SEARCH_NB_HITS),
+                                                $columnsToRemove = array(Metrics::INDEX_PAGE_IS_FOLLOWING_SITE_SEARCH_NB_HITS),
                                                 $columnsToKeep = array(),
                                                 $deleteIfZeroOnly = true
                                            ));
@@ -513,8 +514,8 @@ class Piwik_Actions_Archiver extends Piwik_PluginsArchiver
         $dataTable = $this->getDataTable(Piwik_Tracker_Action::TYPE_DOWNLOAD);
         $this->recordDataTable($dataTable, self::DOWNLOADS_RECORD_NAME);
 
-        $this->getProcessor()->insertNumericRecord(self::METRIC_DOWNLOADS_RECORD_NAME, array_sum($dataTable->getColumn(Piwik_Metrics::INDEX_PAGE_NB_HITS)));
-        $this->getProcessor()->insertNumericRecord(self::METRIC_UNIQ_DOWNLOADS_RECORD_NAME, array_sum($dataTable->getColumn(Piwik_Metrics::INDEX_NB_VISITS)));
+        $this->getProcessor()->insertNumericRecord(self::METRIC_DOWNLOADS_RECORD_NAME, array_sum($dataTable->getColumn(Metrics::INDEX_PAGE_NB_HITS)));
+        $this->getProcessor()->insertNumericRecord(self::METRIC_UNIQ_DOWNLOADS_RECORD_NAME, array_sum($dataTable->getColumn(Metrics::INDEX_NB_VISITS)));
     }
 
     protected function recordOutlinksReports()
@@ -522,8 +523,8 @@ class Piwik_Actions_Archiver extends Piwik_PluginsArchiver
         $dataTable = $this->getDataTable(Piwik_Tracker_Action::TYPE_OUTLINK);
         $this->recordDataTable($dataTable, self::OUTLINKS_RECORD_NAME);
 
-        $this->getProcessor()->insertNumericRecord(self::METRIC_OUTLINKS_RECORD_NAME, array_sum($dataTable->getColumn(Piwik_Metrics::INDEX_PAGE_NB_HITS)));
-        $this->getProcessor()->insertNumericRecord(self::METRIC_UNIQ_OUTLINKS_RECORD_NAME, array_sum($dataTable->getColumn(Piwik_Metrics::INDEX_NB_VISITS)));
+        $this->getProcessor()->insertNumericRecord(self::METRIC_OUTLINKS_RECORD_NAME, array_sum($dataTable->getColumn(Metrics::INDEX_PAGE_NB_HITS)));
+        $this->getProcessor()->insertNumericRecord(self::METRIC_UNIQ_OUTLINKS_RECORD_NAME, array_sum($dataTable->getColumn(Metrics::INDEX_NB_VISITS)));
     }
 
     protected function recordPageTitlesReports()
@@ -538,21 +539,21 @@ class Piwik_Actions_Archiver extends Piwik_PluginsArchiver
         $this->deleteUnusedColumnsFromKeywordsDataTable($dataTable);
         $this->recordDataTable($dataTable, self::SITE_SEARCH_RECORD_NAME);
 
-        $this->getProcessor()->insertNumericRecord(self::METRIC_SEARCHES_RECORD_NAME, array_sum($dataTable->getColumn(Piwik_Metrics::INDEX_NB_VISITS)));
+        $this->getProcessor()->insertNumericRecord(self::METRIC_SEARCHES_RECORD_NAME, array_sum($dataTable->getColumn(Metrics::INDEX_NB_VISITS)));
         $this->getProcessor()->insertNumericRecord(self::METRIC_KEYWORDS_RECORD_NAME, $dataTable->getRowsCount());
     }
 
     protected function deleteUnusedColumnsFromKeywordsDataTable($dataTable)
     {
         $columnsToDelete = array(
-            Piwik_Metrics::INDEX_NB_UNIQ_VISITORS,
-            Piwik_Metrics::INDEX_PAGE_IS_FOLLOWING_SITE_SEARCH_NB_HITS,
-            Piwik_Metrics::INDEX_PAGE_ENTRY_NB_UNIQ_VISITORS,
-            Piwik_Metrics::INDEX_PAGE_ENTRY_NB_ACTIONS,
-            Piwik_Metrics::INDEX_PAGE_ENTRY_SUM_VISIT_LENGTH,
-            Piwik_Metrics::INDEX_PAGE_ENTRY_NB_VISITS,
-            Piwik_Metrics::INDEX_PAGE_ENTRY_BOUNCE_COUNT,
-            Piwik_Metrics::INDEX_PAGE_EXIT_NB_UNIQ_VISITORS,
+            Metrics::INDEX_NB_UNIQ_VISITORS,
+            Metrics::INDEX_PAGE_IS_FOLLOWING_SITE_SEARCH_NB_HITS,
+            Metrics::INDEX_PAGE_ENTRY_NB_UNIQ_VISITORS,
+            Metrics::INDEX_PAGE_ENTRY_NB_ACTIONS,
+            Metrics::INDEX_PAGE_ENTRY_SUM_VISIT_LENGTH,
+            Metrics::INDEX_PAGE_ENTRY_NB_VISITS,
+            Metrics::INDEX_PAGE_ENTRY_BOUNCE_COUNT,
+            Metrics::INDEX_PAGE_EXIT_NB_UNIQ_VISITORS,
         );
         $dataTable->deleteColumns($columnsToDelete);
     }
diff --git a/plugins/Actions/ArchivingHelper.php b/plugins/Actions/ArchivingHelper.php
index 72342adff7433bac0f087772bbf6f4010f9d6adb..514b75116be3723c7ae059352a1743db894baa91 100644
--- a/plugins/Actions/ArchivingHelper.php
+++ b/plugins/Actions/ArchivingHelper.php
@@ -9,6 +9,7 @@
  * @package Piwik_Actions
  */
 use Piwik\Config;
+use Piwik\Metrics;
 
 /**
  * This static class provides:
@@ -43,7 +44,7 @@ class Piwik_Actions_ArchivingHelper
             }
 
             if ($row['type'] != Piwik_Tracker_Action::TYPE_SITE_SEARCH) {
-                unset($row[Piwik_Metrics::INDEX_SITE_SEARCH_HAS_NO_RESULT]);
+                unset($row[Metrics::INDEX_SITE_SEARCH_HAS_NO_RESULT]);
             }
 
             // This will appear as <url /> in the API, which is actually very important to keep
@@ -101,15 +102,15 @@ class Piwik_Actions_ArchivingHelper
                 && !$actionRow->isSummaryRow()
             ) {
                 if (($existingUrl = $actionRow->getMetadata('url')) !== false) {
-                    if (!empty($row[Piwik_Metrics::INDEX_PAGE_NB_HITS])
-                        && $row[Piwik_Metrics::INDEX_PAGE_NB_HITS] > $actionRow->maxVisitsSummed
+                    if (!empty($row[Metrics::INDEX_PAGE_NB_HITS])
+                        && $row[Metrics::INDEX_PAGE_NB_HITS] > $actionRow->maxVisitsSummed
                     ) {
                         $actionRow->setMetadata('url', $url);
-                        $actionRow->maxVisitsSummed = $row[Piwik_Metrics::INDEX_PAGE_NB_HITS];
+                        $actionRow->maxVisitsSummed = $row[Metrics::INDEX_PAGE_NB_HITS];
                     }
                 } else {
                     $actionRow->setMetadata('url', $url);
-                    $actionRow->maxVisitsSummed = !empty($row[Piwik_Metrics::INDEX_PAGE_NB_HITS]) ? $row[Piwik_Metrics::INDEX_PAGE_NB_HITS] : 0;
+                    $actionRow->maxVisitsSummed = !empty($row[Metrics::INDEX_PAGE_NB_HITS]) ? $row[Metrics::INDEX_PAGE_NB_HITS] : 0;
                 }
             }
 
@@ -117,17 +118,17 @@ class Piwik_Actions_ArchivingHelper
                 && $row['type'] != Piwik_Tracker_Action::TYPE_ACTION_NAME
             ) {
                 // only keep performance metrics when they're used (i.e. for URLs and page titles)
-                if (array_key_exists(Piwik_Metrics::INDEX_PAGE_SUM_TIME_GENERATION, $row)) {
-                    unset($row[Piwik_Metrics::INDEX_PAGE_SUM_TIME_GENERATION]);
+                if (array_key_exists(Metrics::INDEX_PAGE_SUM_TIME_GENERATION, $row)) {
+                    unset($row[Metrics::INDEX_PAGE_SUM_TIME_GENERATION]);
                 }
-                if (array_key_exists(Piwik_Metrics::INDEX_PAGE_NB_HITS_WITH_TIME_GENERATION, $row)) {
-                    unset($row[Piwik_Metrics::INDEX_PAGE_NB_HITS_WITH_TIME_GENERATION]);
+                if (array_key_exists(Metrics::INDEX_PAGE_NB_HITS_WITH_TIME_GENERATION, $row)) {
+                    unset($row[Metrics::INDEX_PAGE_NB_HITS_WITH_TIME_GENERATION]);
                 }
-                if (array_key_exists(Piwik_Metrics::INDEX_PAGE_MIN_TIME_GENERATION, $row)) {
-                    unset($row[Piwik_Metrics::INDEX_PAGE_MIN_TIME_GENERATION]);
+                if (array_key_exists(Metrics::INDEX_PAGE_MIN_TIME_GENERATION, $row)) {
+                    unset($row[Metrics::INDEX_PAGE_MIN_TIME_GENERATION]);
                 }
-                if (array_key_exists(Piwik_Metrics::INDEX_PAGE_MAX_TIME_GENERATION, $row)) {
-                    unset($row[Piwik_Metrics::INDEX_PAGE_MAX_TIME_GENERATION]);
+                if (array_key_exists(Metrics::INDEX_PAGE_MAX_TIME_GENERATION, $row)) {
+                    unset($row[Metrics::INDEX_PAGE_MAX_TIME_GENERATION]);
                 }
             }
 
@@ -151,7 +152,7 @@ class Piwik_Actions_ArchivingHelper
             // if the exit_action was not recorded properly in the log_link_visit_action
             // there would be an error message when getting the nb_hits column
             // we must fake the record and add the columns
-            if ($actionRow->getColumn(Piwik_Metrics::INDEX_PAGE_NB_HITS) === false) {
+            if ($actionRow->getColumn(Metrics::INDEX_PAGE_NB_HITS) === false) {
                 // to test this code: delete the entries in log_link_action_visit for
                 //  a given exit_idaction_url
                 foreach (self::getDefaultRow()->getColumns() as $name => $value) {
@@ -174,7 +175,7 @@ class Piwik_Actions_ArchivingHelper
      */
     private static function getColumnValuesMerged($columnName, $alreadyValue, $value)
     {
-        if ($columnName == Piwik_Metrics::INDEX_PAGE_MIN_TIME_GENERATION) {
+        if ($columnName == Metrics::INDEX_PAGE_MIN_TIME_GENERATION) {
             if (empty($alreadyValue)) {
                 $newValue = $value;
             } else if (empty($value)) {
@@ -184,7 +185,7 @@ class Piwik_Actions_ArchivingHelper
             }
             return $newValue;
         }
-        if ($columnName == Piwik_Metrics::INDEX_PAGE_MAX_TIME_GENERATION) {
+        if ($columnName == Metrics::INDEX_PAGE_MAX_TIME_GENERATION) {
             $newValue = max($alreadyValue, $value);
             return $newValue;
         }
@@ -215,7 +216,7 @@ class Piwik_Actions_ArchivingHelper
         }
 
         self::$defaultActionName = Config::getInstance()->General['action_default_name'];
-        self::$columnToSortByBeforeTruncation = Piwik_Metrics::INDEX_NB_VISITS;
+        self::$columnToSortByBeforeTruncation = Metrics::INDEX_NB_VISITS;
         self::$maximumRowsInDataTableLevelZero = Config::getInstance()->General['datatable_archiving_maximum_rows_actions'];
         self::$maximumRowsInSubDataTable = Config::getInstance()->General['datatable_archiving_maximum_rows_subtable_actions'];
 
@@ -239,9 +240,9 @@ class Piwik_Actions_ArchivingHelper
             // so we add this fake row information to make sure there is a nb_hits, etc. column for every action
             $row = new Piwik_DataTable_Row(array(
                                                 Piwik_DataTable_Row::COLUMNS => array(
-                                                    Piwik_Metrics::INDEX_NB_VISITS        => 1,
-                                                    Piwik_Metrics::INDEX_NB_UNIQ_VISITORS => 1,
-                                                    Piwik_Metrics::INDEX_PAGE_NB_HITS     => 1,
+                                                    Metrics::INDEX_NB_VISITS        => 1,
+                                                    Metrics::INDEX_NB_UNIQ_VISITORS => 1,
+                                                    Metrics::INDEX_PAGE_NB_HITS     => 1,
                                                 )));
         }
         return $row;
@@ -486,10 +487,10 @@ class Piwik_Actions_ArchivingHelper
      */
     private static function getDefaultRowColumns()
     {
-        return array(Piwik_Metrics::INDEX_NB_VISITS           => 0,
-                     Piwik_Metrics::INDEX_NB_UNIQ_VISITORS    => 0,
-                     Piwik_Metrics::INDEX_PAGE_NB_HITS        => 0,
-                     Piwik_Metrics::INDEX_PAGE_SUM_TIME_SPENT => 0);
+        return array(Metrics::INDEX_NB_VISITS           => 0,
+                     Metrics::INDEX_NB_UNIQ_VISITORS    => 0,
+                     Metrics::INDEX_PAGE_NB_HITS        => 0,
+                     Metrics::INDEX_PAGE_SUM_TIME_SPENT => 0);
     }
 
     /**
diff --git a/plugins/Actions/Controller.php b/plugins/Actions/Controller.php
index f7597825e56e2d19ff835bd7a7fcbcc8772e6a8b..6044c225d893e0b6b6086b66d5033cbb72444c46 100644
--- a/plugins/Actions/Controller.php
+++ b/plugins/Actions/Controller.php
@@ -49,7 +49,7 @@ class Piwik_Actions_Controller extends Piwik_Controller
         $view->noResultKeywords = $this->getSiteSearchNoResultKeywords(true);
         $view->pagesUrlsFollowingSiteSearch = $this->getPageUrlsFollowingSiteSearch(true);
 
-        $categoryTrackingEnabled = Piwik_PluginsManager::getInstance()->isPluginActivated('CustomVariables');
+        $categoryTrackingEnabled = PluginsManager::getInstance()->isPluginActivated('CustomVariables');
         if ($categoryTrackingEnabled) {
             $view->categories = $this->getSiteSearchCategories(true);
         }
diff --git a/plugins/Annotations/API.php b/plugins/Annotations/API.php
index faa7d76c9792e8bbc577fc035c564e67c2ac696e..603cce5431cdd0588eb798a09868a989c24a3e5b 100755
--- a/plugins/Annotations/API.php
+++ b/plugins/Annotations/API.php
@@ -9,6 +9,7 @@
  * @package Piwik_Annotations
  */
 use Piwik\Period;
+use Piwik\Period_Range;
 use Piwik\Piwik;
 
 /**
@@ -317,7 +318,7 @@ class Piwik_Annotations_API
             || $period == 'range'
         ) {
             if ($period == 'range') {
-                $oPeriod = new Piwik_Period_Range('day', $date);
+                $oPeriod = new Period_Range('day', $date);
             } else {
                 $oPeriod = Period::factory($period, Piwik_Date::factory($date));
             }
diff --git a/plugins/CoreHome/Controller.php b/plugins/CoreHome/Controller.php
index ded8a80658161b3fce3b1c50c8d0dc9e657f8522..08eabcbf82f62a4df41b84bfee07a88e04a48073 100644
--- a/plugins/CoreHome/Controller.php
+++ b/plugins/CoreHome/Controller.php
@@ -31,7 +31,7 @@ class Piwik_CoreHome_Controller extends Piwik_Controller
 
         // User preference: default report to load is the All Websites dashboard
         if ($defaultReport == 'MultiSites'
-            && Piwik_PluginsManager::getInstance()->isPluginActivated('MultiSites')
+            && PluginsManager::getInstance()->isPluginActivated('MultiSites')
         ) {
             $module = 'MultiSites';
         }
diff --git a/plugins/CoreHome/DataTableRowAction/RowEvolution.php b/plugins/CoreHome/DataTableRowAction/RowEvolution.php
index 4ca8bb6af3cce0c33835f0abd30598165b3ca1a0..4d16253e6bbddbe77ae2910aaa46f99a8ea47f06 100644
--- a/plugins/CoreHome/DataTableRowAction/RowEvolution.php
+++ b/plugins/CoreHome/DataTableRowAction/RowEvolution.php
@@ -9,6 +9,7 @@
  * @package Piwik_CoreHome
  */
 use Piwik\Common;
+use Piwik\Metrics;
 
 /**
  * ROW EVOLUTION
@@ -215,14 +216,14 @@ class Piwik_CoreHome_DataTableRowAction_RowEvolution
             $min = isset($metricData['min']) ? $metricData['min'] : 0;
             $change = isset($metricData['change']) ? $metricData['change'] : false;
 
-            $unit = Piwik_Metrics::getUnit($metric, $this->idSite);
+            $unit = Metrics::getUnit($metric, $this->idSite);
             $min .= $unit;
             $max .= $unit;
 
             $details = Piwik_Translate('RowEvolution_MetricBetweenText', array($min, $max));
 
             if ($change !== false) {
-                $lowerIsBetter = Piwik_Metrics::isLowerValueBetter($metric);
+                $lowerIsBetter = Metrics::isLowerValueBetter($metric);
                 if (substr($change, 0, 1) == '+') {
                     $changeClass = $lowerIsBetter ? 'bad' : 'good';
                     $changeImage = $lowerIsBetter ? 'arrow_up_red' : 'arrow_up';
diff --git a/plugins/CorePluginsAdmin/Controller.php b/plugins/CorePluginsAdmin/Controller.php
index 85f8143063593c62faabae6c7f6cb85acb096652..64f7be4bb3a3129980db62b9dc943aee0b0f41a0 100644
--- a/plugins/CorePluginsAdmin/Controller.php
+++ b/plugins/CorePluginsAdmin/Controller.php
@@ -51,21 +51,21 @@ class Piwik_CorePluginsAdmin_Controller extends Piwik_Controller_Admin
         $plugins = array();
 
         $listPlugins = array_merge(
-            Piwik_PluginsManager::getInstance()->readPluginsDirectory(),
+            PluginsManager::getInstance()->readPluginsDirectory(),
             Config::getInstance()->Plugins['Plugins']
         );
         $listPlugins = array_unique($listPlugins);
         foreach ($listPlugins as $pluginName) {
-            Piwik_PluginsManager::getInstance()->loadPlugin($pluginName);
+            PluginsManager::getInstance()->loadPlugin($pluginName);
             $plugins[$pluginName] = array(
-                'activated'       => Piwik_PluginsManager::getInstance()->isPluginActivated($pluginName),
-                'alwaysActivated' => Piwik_PluginsManager::getInstance()->isPluginAlwaysActivated($pluginName),
-                'uninstallable'   => Piwik_PluginsManager::getInstance()->isPluginUninstallable($pluginName),
+                'activated'       => PluginsManager::getInstance()->isPluginActivated($pluginName),
+                'alwaysActivated' => PluginsManager::getInstance()->isPluginAlwaysActivated($pluginName),
+                'uninstallable'   => PluginsManager::getInstance()->isPluginUninstallable($pluginName),
             );
         }
-        Piwik_PluginsManager::getInstance()->loadPluginTranslations();
+        PluginsManager::getInstance()->loadPluginTranslations();
 
-        $loadedPlugins = Piwik_PluginsManager::getInstance()->getLoadedPlugins();
+        $loadedPlugins = PluginsManager::getInstance()->getLoadedPlugins();
         foreach ($loadedPlugins as $oPlugin) {
             $pluginName = $oPlugin->getPluginName();
             $plugins[$pluginName]['info'] = $oPlugin->getInformation();
@@ -107,7 +107,7 @@ class Piwik_CorePluginsAdmin_Controller extends Piwik_Controller_Admin
     public function deactivate($redirectAfter = true)
     {
         $pluginName = $this->initPluginModification();
-        Piwik_PluginsManager::getInstance()->deactivatePlugin($pluginName);
+        PluginsManager::getInstance()->deactivatePlugin($pluginName);
         $this->redirectAfterModification($redirectAfter);
     }
 
@@ -129,14 +129,14 @@ class Piwik_CorePluginsAdmin_Controller extends Piwik_Controller_Admin
     public function activate($redirectAfter = true)
     {
         $pluginName = $this->initPluginModification();
-        Piwik_PluginsManager::getInstance()->activatePlugin($pluginName);
+        PluginsManager::getInstance()->activatePlugin($pluginName);
         $this->redirectAfterModification($redirectAfter);
     }
 
     public function uninstall($redirectAfter = true)
     {
         $pluginName = $this->initPluginModification();
-        $uninstalled = Piwik_PluginsManager::getInstance()->uninstallPlugin($pluginName);
+        $uninstalled = PluginsManager::getInstance()->uninstallPlugin($pluginName);
         if(!$uninstalled) {
             $path = Common::getPathToPiwikRoot() . '/plugins/' . $pluginName . '/';
             $messagePermissions = Piwik::getErrorMessageMissingPermissions($path);
diff --git a/plugins/CoreUpdater/Controller.php b/plugins/CoreUpdater/Controller.php
index 98f7d968fbc4edd13a01d5ea684e1234bda49e1f..87f1beb6345ec02e05cd9a013468197fe40efc1c 100644
--- a/plugins/CoreUpdater/Controller.php
+++ b/plugins/CoreUpdater/Controller.php
@@ -345,7 +345,7 @@ class Piwik_CoreUpdater_Controller extends Piwik_Controller
                     $this->coreError = true;
                     break;
                 } else {
-                    Piwik_PluginsManager::getInstance()->deactivatePlugin($name);
+                    PluginsManager::getInstance()->deactivatePlugin($name);
                     $this->deactivatedPlugins[] = $name;
                 }
             }
diff --git a/plugins/CoreUpdater/CoreUpdater.php b/plugins/CoreUpdater/CoreUpdater.php
index efc971908afe5241f525eff594b02c115ad7d943..4c35b42029ca4543a0a6f75b22678848b69116d4 100644
--- a/plugins/CoreUpdater/CoreUpdater.php
+++ b/plugins/CoreUpdater/CoreUpdater.php
@@ -32,7 +32,7 @@ class Piwik_CoreUpdater extends Piwik_Plugin
     public static function getComponentUpdates(Piwik_Updater $updater)
     {
         $updater->addComponentToCheck('core', Piwik_Version::VERSION);
-        $plugins = Piwik_PluginsManager::getInstance()->getLoadedPlugins();
+        $plugins = PluginsManager::getInstance()->getLoadedPlugins();
         foreach ($plugins as $pluginName => $plugin) {
             $updater->addComponentToCheck($pluginName, $plugin->getVersion());
         }
diff --git a/plugins/CustomVariables/API.php b/plugins/CustomVariables/API.php
index b5b64f2791c067acf3fd40e5a4e4a5d4c395fec4..800b916886957109e8eeae558a408a178cd6b34f 100644
--- a/plugins/CustomVariables/API.php
+++ b/plugins/CustomVariables/API.php
@@ -9,6 +9,7 @@
  * @package Piwik_CustomVariables
  */
 use Piwik\Archive;
+use Piwik\Metrics;
 
 /**
  * The Custom Variables API lets you access reports for your <a href='http://piwik.org/docs/custom-variables/' target='_blank'>Custom Variables</a> names and values.
@@ -43,7 +44,7 @@ class Piwik_CustomVariables_API
     protected function getDataTable($idSite, $period, $date, $segment, $expanded, $idSubtable)
     {
         $dataTable = Archive::getDataTableFromArchive(Piwik_CustomVariables_Archiver::CUSTOM_VARIABLE_RECORD_NAME, $idSite, $period, $date, $segment, $expanded, $idSubtable);
-        $dataTable->filter('Sort', array(Piwik_Metrics::INDEX_NB_ACTIONS, 'desc', $naturalSort = false, $expanded));
+        $dataTable->filter('Sort', array(Metrics::INDEX_NB_ACTIONS, 'desc', $naturalSort = false, $expanded));
         $dataTable->queueFilter('ReplaceColumnNames');
         $dataTable->queueFilter('ColumnDelete', 'nb_uniq_visitors');
         return $dataTable;
diff --git a/plugins/CustomVariables/Archiver.php b/plugins/CustomVariables/Archiver.php
index 89eaf7821a29eecb532c50218469a0cf4616e3d6..08b15ec865783edc50477b024465bd17e71d1ede 100644
--- a/plugins/CustomVariables/Archiver.php
+++ b/plugins/CustomVariables/Archiver.php
@@ -1,7 +1,7 @@
 <?php
 use Piwik\Common;
 use Piwik\Config;
-
+use Piwik\Metrics;
 
 /**
  * Piwik - Open source web analytics
@@ -46,7 +46,7 @@ class Piwik_CustomVariables_Archiver extends Piwik_PluginsArchiver
         $table = $this->getProcessor()->getDataTableFromDataArray($this->dataArray);
         $blob = $table->getSerialized(
             $this->maximumRowsInDataTableLevelZero, $this->maximumRowsInSubDataTable,
-            $columnToSort = Piwik_Metrics::INDEX_NB_VISITS
+            $columnToSort = Metrics::INDEX_NB_VISITS
         );
 
         $this->getProcessor()->insertBlobRecord(self::CUSTOM_VARIABLE_RECORD_NAME, $blob);
@@ -79,7 +79,7 @@ class Piwik_CustomVariables_Archiver extends Piwik_PluginsArchiver
     protected function getSelectAveragePrice()
     {
         return Piwik_DataAccess_LogAggregator::getSqlRevenue("AVG(log_link_visit_action.custom_var_v2)")
-            . " as `" . Piwik_Metrics::INDEX_ECOMMERCE_ITEM_PRICE_VIEWED . "`";
+            . " as `" . Metrics::INDEX_ECOMMERCE_ITEM_PRICE_VIEWED . "`";
     }
 
     protected function aggregateFromVisits($query, $keyField, $valueField)
@@ -157,7 +157,7 @@ class Piwik_CustomVariables_Archiver extends Piwik_PluginsArchiver
         if ($this->isReservedKey($key)) {
             // Price tracking on Ecommerce product/category pages:
             // the average is returned from the SQL query so the price is not "summed" like other metrics
-            $index = Piwik_Metrics::INDEX_ECOMMERCE_ITEM_PRICE_VIEWED;
+            $index = Metrics::INDEX_ECOMMERCE_ITEM_PRICE_VIEWED;
             if (!empty($row[$index])) {
                 $this->dataArray->setRowColumnPivot($key, $value, $index, (float)$row[$index]);
             }
@@ -190,8 +190,8 @@ class Piwik_CustomVariables_Archiver extends Piwik_PluginsArchiver
             if (!self::isReservedKey($key)
                 && Piwik_DataArray::isRowActions($row)
             ) {
-                unset($row[Piwik_Metrics::INDEX_NB_UNIQ_VISITORS]);
-                unset($row[Piwik_Metrics::INDEX_NB_VISITS]);
+                unset($row[Metrics::INDEX_NB_UNIQ_VISITORS]);
+                unset($row[Metrics::INDEX_NB_VISITS]);
             }
         }
     }
@@ -200,6 +200,6 @@ class Piwik_CustomVariables_Archiver extends Piwik_PluginsArchiver
     {
         $nameToCount = $this->getProcessor()->aggregateDataTableReports(
             self::CUSTOM_VARIABLE_RECORD_NAME, $this->maximumRowsInDataTableLevelZero, $this->maximumRowsInSubDataTable,
-            $columnToSort = Piwik_Metrics::INDEX_NB_VISITS);
+            $columnToSort = Metrics::INDEX_NB_VISITS);
     }
 }
\ No newline at end of file
diff --git a/plugins/DevicesDetection/API.php b/plugins/DevicesDetection/API.php
index 01d783fb7106a101a7b8d08d5fe4ad5c12e361e8..3117122c96c2719016121e5f1bfe92c34666b1ff 100644
--- a/plugins/DevicesDetection/API.php
+++ b/plugins/DevicesDetection/API.php
@@ -10,6 +10,7 @@
  * @package Piwik_DevicesDetection
  */
 use Piwik\Archive;
+use Piwik\Metrics;
 use Piwik\Piwik;
 
 /**
@@ -45,7 +46,7 @@ class Piwik_DevicesDetection_API
         Piwik::checkUserHasViewAccess($idSite);
         $archive = Archive::build($idSite, $period, $date, $segment);
         $dataTable = $archive->getDataTable($name);
-        $dataTable->filter('Sort', array(Piwik_Metrics::INDEX_NB_VISITS));
+        $dataTable->filter('Sort', array(Metrics::INDEX_NB_VISITS));
         $dataTable->queueFilter('ReplaceColumnNames');
         $dataTable->queueFilter('ReplaceSummaryRowLabel');
         return $dataTable;
diff --git a/plugins/DevicesDetection/Archiver.php b/plugins/DevicesDetection/Archiver.php
index 5b8114e412b28b4df0064ad26fd3b22d93001528..6bf0288894558c352afa72e2cc56b49d2d8890ba 100644
--- a/plugins/DevicesDetection/Archiver.php
+++ b/plugins/DevicesDetection/Archiver.php
@@ -9,6 +9,8 @@
  * @package Piwik_DevicesDetection
  */
 
+use Piwik\Metrics;
+
 class Piwik_DevicesDetection_Archiver extends Piwik_PluginsArchiver
 {
     const DEVICE_TYPE_RECORD_NAME = 'DevicesDetection_types';
@@ -42,7 +44,7 @@ class Piwik_DevicesDetection_Archiver extends Piwik_PluginsArchiver
     {
         $metrics = $this->getProcessor()->getMetricsForDimension($labelSQL);
         $table = $this->getProcessor()->getDataTableFromDataArray($metrics);
-        $this->getProcessor()->insertBlobRecord($recordName, $table->getSerialized($this->maximumRows, null, Piwik_Metrics::INDEX_NB_VISITS));
+        $this->getProcessor()->insertBlobRecord($recordName, $table->getSerialized($this->maximumRows, null, Metrics::INDEX_NB_VISITS));
     }
 
     public function archivePeriod()
diff --git a/plugins/ExampleUI/API.php b/plugins/ExampleUI/API.php
index 697844a589f5d0639feee50ced4ddc6d9f4b97f9..87bc64a88cd6b2a5cde3351a77ba5655c9e334f7 100644
--- a/plugins/ExampleUI/API.php
+++ b/plugins/ExampleUI/API.php
@@ -8,6 +8,7 @@
  * @category Piwik_Plugins
  * @package Piwik_ExampleUI
  */
+use Piwik\Period_Range;
 
 /**
  * ExampleUI API is also an example API useful if you are developing a Piwik plugin.
@@ -31,7 +32,7 @@ class Piwik_ExampleUI_API
 
     public function getTemperaturesEvolution($date, $period)
     {
-        $period = new Piwik_Period_Range($period, 'last30');
+        $period = new Period_Range($period, 'last30');
         $dateStart = $period->getDateStart()->toString('Y-m-d'); // eg. "2009-04-01"
         $dateEnd = $period->getDateEnd()->toString('Y-m-d'); // eg. "2009-04-30"
 
diff --git a/plugins/Goals/API.php b/plugins/Goals/API.php
index aeffa5583b46258ecb87cbc4b9b7c09663b88403..5d0d0eab5c1d3662956641f553707c0f43c0db62 100644
--- a/plugins/Goals/API.php
+++ b/plugins/Goals/API.php
@@ -9,6 +9,7 @@
  * @package Piwik_Goals
  */
 use Piwik\Archive;
+use Piwik\Metrics;
 use Piwik\Piwik;
 use Piwik\Common;
 use Piwik\Site;
@@ -215,14 +216,14 @@ class Piwik_Goals_API
         $archive = Archive::build($idSite, $period, $date);
         $dataTable = $archive->getDataTable($recordNameFinal);
         
-        $dataTable->filter('Sort', array(Piwik_Metrics::INDEX_ECOMMERCE_ITEM_REVENUE));
+        $dataTable->filter('Sort', array(Metrics::INDEX_ECOMMERCE_ITEM_REVENUE));
         $dataTable->queueFilter('ReplaceColumnNames');
         $dataTable->queueFilter('ReplaceSummaryRowLabel');
 
         $ordersColumn = 'orders';
         if ($abandonedCarts) {
             $ordersColumn = 'abandoned_carts';
-            $dataTable->renameColumn(Piwik_Metrics::INDEX_ECOMMERCE_ORDERS, $ordersColumn);
+            $dataTable->renameColumn(Metrics::INDEX_ECOMMERCE_ORDERS, $ordersColumn);
         }
 
         // Average price = sum product revenue / quantity
@@ -308,15 +309,15 @@ class Piwik_Goals_API
             // If there is not already a 'sum price' for this product
             $rowFound = $dataTable->getRowFromLabel($rowView->getColumn('label'));
             $price = $rowFound
-                ? $rowFound->getColumn(Piwik_Metrics::INDEX_ECOMMERCE_ITEM_PRICE)
+                ? $rowFound->getColumn(Metrics::INDEX_ECOMMERCE_ITEM_PRICE)
                 : false;
             if (empty($price)) {
                 // If a price was tracked on the product page
-                if ($rowView->getColumn(Piwik_Metrics::INDEX_ECOMMERCE_ITEM_PRICE_VIEWED)) {
-                    $rowView->renameColumn(Piwik_Metrics::INDEX_ECOMMERCE_ITEM_PRICE_VIEWED, 'avg_price');
+                if ($rowView->getColumn(Metrics::INDEX_ECOMMERCE_ITEM_PRICE_VIEWED)) {
+                    $rowView->renameColumn(Metrics::INDEX_ECOMMERCE_ITEM_PRICE_VIEWED, 'avg_price');
                 }
             }
-            $rowView->deleteColumn(Piwik_Metrics::INDEX_ECOMMERCE_ITEM_PRICE_VIEWED);
+            $rowView->deleteColumn(Metrics::INDEX_ECOMMERCE_ITEM_PRICE_VIEWED);
         }
 
         $dataTable->addDataTable($ecommerceViews);
diff --git a/plugins/Goals/Archiver.php b/plugins/Goals/Archiver.php
index 70d4fb1932d0d94d0052901312f928b0bd730880..a22cc9ef98627d9fee4767f2c477d109d710ea51 100644
--- a/plugins/Goals/Archiver.php
+++ b/plugins/Goals/Archiver.php
@@ -9,6 +9,8 @@
  * @package Piwik_Goals
  */
 
+use Piwik\Metrics;
+
 class Piwik_Goals_Archiver extends Piwik_PluginsArchiver
 {
     const VISITS_UNTIL_RECORD_NAME = 'visits_until_conv';
@@ -121,20 +123,20 @@ class Piwik_Goals_Archiver extends Piwik_PluginsArchiver
             if (empty($visitsToConversions[$idGoal])) {
                 $visitsToConversions[$idGoal] = new Piwik_DataTable();
             }
-            $array = Piwik_DataAccess_LogAggregator::makeArrayOneColumn($row, Piwik_Metrics::INDEX_NB_CONVERSIONS, $prefixes[self::VISITS_UNTIL_RECORD_NAME]);
+            $array = Piwik_DataAccess_LogAggregator::makeArrayOneColumn($row, Metrics::INDEX_NB_CONVERSIONS, $prefixes[self::VISITS_UNTIL_RECORD_NAME]);
             $visitsToConversions[$idGoal]->addDataTable(Piwik_DataTable::makeFromIndexedArray($array));
 
             if (empty($daysToConversions[$idGoal])) {
                 $daysToConversions[$idGoal] = new Piwik_DataTable();
             }
-            $array = Piwik_DataAccess_LogAggregator::makeArrayOneColumn($row, Piwik_Metrics::INDEX_NB_CONVERSIONS, $prefixes[self::DAYS_UNTIL_CONV_RECORD_NAME]);
+            $array = Piwik_DataAccess_LogAggregator::makeArrayOneColumn($row, Metrics::INDEX_NB_CONVERSIONS, $prefixes[self::DAYS_UNTIL_CONV_RECORD_NAME]);
             $daysToConversions[$idGoal]->addDataTable(Piwik_DataTable::makeFromIndexedArray($array));
 
             // We don't want to sum Abandoned cart metrics in the overall revenue/conversions/converted visits
             // since it is a "negative conversion"
             if ($idGoal != Piwik_Tracker_GoalManager::IDGOAL_CART) {
-                $totalConversions += $row[Piwik_Metrics::INDEX_GOAL_NB_CONVERSIONS];
-                $totalRevenue += $row[Piwik_Metrics::INDEX_GOAL_REVENUE];
+                $totalConversions += $row[Metrics::INDEX_GOAL_NB_CONVERSIONS];
+                $totalRevenue += $row[Metrics::INDEX_GOAL_REVENUE];
             }
         }
 
@@ -162,12 +164,12 @@ class Piwik_Goals_Archiver extends Piwik_PluginsArchiver
         $goals = $goals->getDataArray();
         foreach ($goals as $idGoal => $array) {
             foreach ($array as $metricId => $value) {
-                $metricName = Piwik_Metrics::$mappingFromIdToNameGoal[$metricId];
+                $metricName = Metrics::$mappingFromIdToNameGoal[$metricId];
                 $recordName = self::getRecordName($metricName, $idGoal);
                 $numericRecords[$recordName] = $value;
             }
-            if(!empty($array[Piwik_Metrics::INDEX_GOAL_NB_VISITS_CONVERTED])) {
-                $conversion_rate = $this->getConversionRate($array[Piwik_Metrics::INDEX_GOAL_NB_VISITS_CONVERTED]);
+            if(!empty($array[Metrics::INDEX_GOAL_NB_VISITS_CONVERTED])) {
+                $conversion_rate = $this->getConversionRate($array[Metrics::INDEX_GOAL_NB_VISITS_CONVERTED]);
                 $recordName = self::getRecordName('conversion_rate', $idGoal);
                 $numericRecords[$recordName] = $conversion_rate;
             }
@@ -330,10 +332,10 @@ class Piwik_Goals_Archiver extends Piwik_PluginsArchiver
 
         if ($row['ecommerceType'] == Piwik_Tracker_GoalManager::IDGOAL_CART) {
             // abandoned carts are the numner of visits with an abandoned cart
-            $row[Piwik_Metrics::INDEX_ECOMMERCE_ORDERS] = $row[Piwik_Metrics::INDEX_NB_VISITS];
+            $row[Metrics::INDEX_ECOMMERCE_ORDERS] = $row[Metrics::INDEX_NB_VISITS];
         }
 
-        unset($row[Piwik_Metrics::INDEX_NB_VISITS]);
+        unset($row[Metrics::INDEX_NB_VISITS]);
         unset($row['label']);
         unset($row['ecommerceType']);
 
@@ -343,10 +345,10 @@ class Piwik_Goals_Archiver extends Piwik_PluginsArchiver
     protected function roundColumnValues(&$row)
     {
         $columnsToRound = array(
-            Piwik_Metrics::INDEX_ECOMMERCE_ITEM_REVENUE,
-            Piwik_Metrics::INDEX_ECOMMERCE_ITEM_QUANTITY,
-            Piwik_Metrics::INDEX_ECOMMERCE_ITEM_PRICE,
-            Piwik_Metrics::INDEX_ECOMMERCE_ITEM_PRICE_VIEWED,
+            Metrics::INDEX_ECOMMERCE_ITEM_REVENUE,
+            Metrics::INDEX_ECOMMERCE_ITEM_QUANTITY,
+            Metrics::INDEX_ECOMMERCE_ITEM_PRICE,
+            Metrics::INDEX_ECOMMERCE_ITEM_PRICE_VIEWED,
         );
         foreach ($columnsToRound as $column) {
             if (isset($row[$column])
diff --git a/plugins/Goals/Controller.php b/plugins/Goals/Controller.php
index 3f33dc7305f65c4cc91d8246fc0a9a6e9185b5a2..d659959ab3cf71fb7adbfc5829678bf92acf7d6d 100644
--- a/plugins/Goals/Controller.php
+++ b/plugins/Goals/Controller.php
@@ -75,7 +75,7 @@ class Piwik_Goals_Controller extends Piwik_Controller
 
     public function ecommerceReport()
     {
-        if (!Piwik_PluginsManager::getInstance()->isPluginActivated('CustomVariables')) {
+        if (!PluginsManager::getInstance()->isPluginActivated('CustomVariables')) {
             throw new Exception("Ecommerce Tracking requires that the plugin Custom Variables is enabled. Please enable the plugin CustomVariables (or ask your admin).");
         }
 
@@ -294,14 +294,14 @@ class Piwik_Goals_Controller extends Piwik_Controller
 
         $topDimensionsToLoad = array();
 
-        if (Piwik_PluginsManager::getInstance()->isPluginActivated('UserCountry')) {
+        if (PluginsManager::getInstance()->isPluginActivated('UserCountry')) {
             $topDimensionsToLoad += array(
                 'country' => 'UserCountry.getCountry',
             );
         }
 
         $keywordNotDefinedString = '';
-        if (Piwik_PluginsManager::getInstance()->isPluginActivated('Referers')) {
+        if (PluginsManager::getInstance()->isPluginActivated('Referers')) {
             $keywordNotDefinedString = Piwik_Referers_API::getKeywordNotDefinedString();
             $topDimensionsToLoad += array(
                 'keyword' => 'Referers.getKeywords',
diff --git a/plugins/Live/API.php b/plugins/Live/API.php
index 78bc6802bd32e3ec174ae20fe10c9dcd4445fbd3..a9fd58a6f66e65da20c3b5a3ae2998292b2806e7 100644
--- a/plugins/Live/API.php
+++ b/plugins/Live/API.php
@@ -10,8 +10,10 @@
  */
 use Piwik\Config;
 use Piwik\Period;
+use Piwik\Period_Range;
 use Piwik\Piwik;
 use Piwik\Common;
+use Piwik\Segment;
 use Piwik\Site;
 
 /**
@@ -83,7 +85,7 @@ class Piwik_Live_API
             Piwik_Date::factory(time() - $lastMinutes * 60)->toString('Y-m-d H:i:s')
         );
 
-        $segment = new Piwik_Segment($segment, $idSite);
+        $segment = new Segment($segment, $idSite);
         $query = $segment->getSelectQuery($select, $from, $where, $bind);
 
         $data = Piwik_FetchAll($query['sql'], $query['bind']);
@@ -352,8 +354,8 @@ class Piwik_Live_API
 
             $dateString = $date;
             if ($period == 'range') {
-                $processedPeriod = new Piwik_Period_Range('range', $date);
-                if ($parsedDate = Piwik_Period_Range::parseDateRange($date)) {
+                $processedPeriod = new Period_Range('range', $date);
+                if ($parsedDate = Period_Range::parseDateRange($date)) {
                     $dateString = $parsedDate[2];
                 }
             } else {
@@ -389,7 +391,7 @@ class Piwik_Live_API
             $where = false;
         }
 
-        $segment = new Piwik_Segment($segment, $idSite);
+        $segment = new Segment($segment, $idSite);
 
         // Subquery to use the indexes for ORDER BY
         $select = "log_visit.*";
diff --git a/plugins/Live/Visitor.php b/plugins/Live/Visitor.php
index e10b1ea331e77686bb27b6a05666b4181484590b..1c8ec26952c6df27e154215c9683aff2fc5a66bd 100644
--- a/plugins/Live/Visitor.php
+++ b/plugins/Live/Visitor.php
@@ -343,7 +343,7 @@ class Piwik_Live_Visitor
     function getKeyword()
     {
         $keyword = $this->details['referer_keyword'];
-        if (Piwik_PluginsManager::getInstance()->isPluginActivated('Referers')
+        if (PluginsManager::getInstance()->isPluginActivated('Referers')
             && $this->getRefererType() == 'search'
         ) {
             $keyword = Piwik_Referers_API::getCleanKeyword($keyword);
@@ -354,7 +354,7 @@ class Piwik_Live_Visitor
     function getRefererUrl()
     {
         if ($this->getRefererType() == 'search') {
-            if (Piwik_PluginsManager::getInstance()->isPluginActivated('Referers')
+            if (PluginsManager::getInstance()->isPluginActivated('Referers')
                 && $this->details['referer_keyword'] == Piwik_Referers_API::LABEL_KEYWORD_NOT_DEFINED
             ) {
                 return 'http://piwik.org/faq/general/#faq_144';
@@ -512,7 +512,7 @@ class Piwik_Live_Visitor
 
     function getDeviceType()
     {
-        if(Piwik_PluginsManager::getInstance()->isPluginActivated('DevicesDetection')) {
+        if(PluginsManager::getInstance()->isPluginActivated('DevicesDetection')) {
             return Piwik_getDeviceTypeLabel($this->details['config_device_type']);
         }
         return false;
diff --git a/plugins/MobileMessaging/MobileMessaging.php b/plugins/MobileMessaging/MobileMessaging.php
index 22ae5f0d40c79f4f712245bd9bcba67ac09a5faf..941d753fa75a4980c3d310d77967098745e6fe00 100644
--- a/plugins/MobileMessaging/MobileMessaging.php
+++ b/plugins/MobileMessaging/MobileMessaging.php
@@ -158,7 +158,7 @@ class Piwik_MobileMessaging extends Piwik_Plugin
     public function getRendererInstance(&$reportRenderer, $info)
     {
         if (self::manageEvent($info)) {
-            if (Piwik_PluginsManager::getInstance()->isPluginActivated('MultiSites')) {
+            if (PluginsManager::getInstance()->isPluginActivated('MultiSites')) {
                 $reportRenderer = new Piwik_MobileMessaging_ReportRenderer_Sms();
             } else {
                 $reportRenderer = new Piwik_MobileMessaging_ReportRenderer_Exception(
diff --git a/plugins/MultiSites/API.php b/plugins/MultiSites/API.php
index 16a544091662a84479692a282f8be003eec60de1..0c754060048fa980ebfb6b2c24aa249c821403ef 100755
--- a/plugins/MultiSites/API.php
+++ b/plugins/MultiSites/API.php
@@ -9,6 +9,7 @@
  * @package Piwik_MultiSites
  */
 use Piwik\Archive;
+use Piwik\Period_Range;
 use Piwik\Piwik;
 use Piwik\Common;
 use Piwik\Site;
@@ -237,7 +238,7 @@ class Piwik_MultiSites_API
 
         // if the period isn't a range & a lastN/previousN date isn't used, we get the same
         // data for the last period to show the evolution of visits/actions/revenue
-        list($strLastDate, $lastPeriod) = Piwik_Period_Range::getLastDate($date, $period);
+        list($strLastDate, $lastPeriod) = Period_Range::getLastDate($date, $period);
         if ($strLastDate !== false) {
             if ($lastPeriod !== false) {
                 // NOTE: no easy way to set last period date metadata when range of dates is requested.
diff --git a/plugins/Overlay/Controller.php b/plugins/Overlay/Controller.php
index d875fa97a716985506621ea69e17cfd509385910..6f7c00caf932d0476c1f89bc43c5eb872147df1b 100644
--- a/plugins/Overlay/Controller.php
+++ b/plugins/Overlay/Controller.php
@@ -1,4 +1,5 @@
 <?php
+use Piwik\Metrics;
 use Piwik\Piwik;
 use Piwik\Common;
 
@@ -69,7 +70,7 @@ class Piwik_Overlay_Controller extends Piwik_Controller
         if ($dataTable->getRowsCount() > 0) {
             $row = $dataTable->getFirstRow();
 
-            $translations = Piwik_Metrics::getDefaultMetricTranslations();
+            $translations = Metrics::getDefaultMetricTranslations();
             $showMetrics = array('nb_hits', 'nb_visits', 'nb_uniq_visitors',
                                  'bounce_rate', 'exit_rate', 'avg_time_on_page');
 
diff --git a/plugins/PDFReports/API.php b/plugins/PDFReports/API.php
index b8a3d1b8dddb70977dc1ff28169ce6821fd8a233..c3eea2e13d9c5e45212722d9d32c713573455771 100644
--- a/plugins/PDFReports/API.php
+++ b/plugins/PDFReports/API.php
@@ -798,6 +798,6 @@ class Piwik_PDFReports_API
      */
     public static function isSegmentEditorActivated()
     {
-        return Piwik_PluginsManager::getInstance()->isPluginActivated('SegmentEditor');
+        return PluginsManager::getInstance()->isPluginActivated('SegmentEditor');
     }
 }
diff --git a/plugins/PDFReports/PDFReports.php b/plugins/PDFReports/PDFReports.php
index 2dde8fb0bb9ad6e57fa2a8c3c829edc4ec7e1e1e..5d93ed38cbd2a8412b97d0e5e02c35a563e4c5d1 100644
--- a/plugins/PDFReports/PDFReports.php
+++ b/plugins/PDFReports/PDFReports.php
@@ -204,7 +204,7 @@ class Piwik_PDFReports extends Piwik_Plugin
                         :
                         $displayFormat != self::DISPLAY_FORMAT_TABLES_ONLY)
                         && Piwik::isGdExtensionEnabled()
-                        && Piwik_PluginsManager::getInstance()->isPluginActivated('ImageGraph')
+                        && PluginsManager::getInstance()->isPluginActivated('ImageGraph')
                         && !empty($metadata['imageGraphUrl']);
 
                 $processedReport['evolutionGraph'] = $evolutionGraph;
@@ -461,7 +461,7 @@ class Piwik_PDFReports extends Piwik_Plugin
             13,
             $isHTML = false,
             $tooltip = Piwik_Translate(
-                Piwik_PluginsManager::getInstance()->isPluginActivated('MobileMessaging')
+                PluginsManager::getInstance()->isPluginActivated('MobileMessaging')
                     ? 'MobileMessaging_TopLinkTooltip' : 'PDFReports_TopLinkTooltip'
             )
         );
@@ -470,7 +470,7 @@ class Piwik_PDFReports extends Piwik_Plugin
     function getTopMenuTranslationKey()
     {
         // if MobileMessaging is not activated, display 'Email reports'
-        if (!Piwik_PluginsManager::getInstance()->isPluginActivated('MobileMessaging'))
+        if (!PluginsManager::getInstance()->isPluginActivated('MobileMessaging'))
             return self::PDF_REPORTS_TOP_MENU_TRANSLATION_KEY;
 
         if (Piwik::isUserIsAnonymous()) {
diff --git a/plugins/PrivacyManager/Controller.php b/plugins/PrivacyManager/Controller.php
index d7191339da7524d1e2db3b4f67122e5c268db857..a6770ae74a09f43585d3cbd93839e5a72e7e060c 100644
--- a/plugins/PrivacyManager/Controller.php
+++ b/plugins/PrivacyManager/Controller.php
@@ -105,7 +105,7 @@ class Piwik_PrivacyManager_Controller extends Piwik_Controller_Admin
      */
     public static function isDntSupported()
     {
-        return Piwik_PluginsManager::getInstance()->isPluginActivated('DoNotTrack');
+        return PluginsManager::getInstance()->isPluginActivated('DoNotTrack');
     }
 
     public function privacySettings()
@@ -214,12 +214,12 @@ class Piwik_PrivacyManager_Controller extends Piwik_Controller_Admin
         Piwik::checkUserIsSuperUser();
         $anonymizeIP = array();
 
-        Piwik_PluginsManager::getInstance()->loadPlugin(self::ANONYMIZE_IP_PLUGIN_NAME);
+        PluginsManager::getInstance()->loadPlugin(self::ANONYMIZE_IP_PLUGIN_NAME);
 
         $anonymizeIP["name"] = self::ANONYMIZE_IP_PLUGIN_NAME;
-        $anonymizeIP["enabled"] = Piwik_PluginsManager::getInstance()->isPluginActivated(self::ANONYMIZE_IP_PLUGIN_NAME);
+        $anonymizeIP["enabled"] = PluginsManager::getInstance()->isPluginActivated(self::ANONYMIZE_IP_PLUGIN_NAME);
         $anonymizeIP["maskLength"] = Config::getInstance()->Tracker['ip_address_mask_length'];
-        $anonymizeIP["info"] = Piwik_PluginsManager::getInstance()->getLoadedPlugin(self::ANONYMIZE_IP_PLUGIN_NAME)->getInformation();
+        $anonymizeIP["info"] = PluginsManager::getInstance()->getLoadedPlugin(self::ANONYMIZE_IP_PLUGIN_NAME)->getInformation();
 
         return $anonymizeIP;
     }
@@ -276,9 +276,9 @@ class Piwik_PrivacyManager_Controller extends Piwik_Controller_Admin
     {
         $pluginController = new Piwik_CorePluginsAdmin_Controller();
 
-        if ($state == 1 && !Piwik_PluginsManager::getInstance()->isPluginActivated(self::ANONYMIZE_IP_PLUGIN_NAME)) {
+        if ($state == 1 && !PluginsManager::getInstance()->isPluginActivated(self::ANONYMIZE_IP_PLUGIN_NAME)) {
             $pluginController->activate($redirectAfter = false);
-        } elseif ($state == 0 && Piwik_PluginsManager::getInstance()->isPluginActivated(self::ANONYMIZE_IP_PLUGIN_NAME)) {
+        } elseif ($state == 0 && PluginsManager::getInstance()->isPluginActivated(self::ANONYMIZE_IP_PLUGIN_NAME)) {
             $pluginController->deactivate($redirectAfter = false);
         } else {
             //nothing to do
diff --git a/plugins/PrivacyManager/PrivacyManager.php b/plugins/PrivacyManager/PrivacyManager.php
index 59836dae9a737c198032ea361a4c78efaf2a9efd..dcbc12814de2fd21cdb1147bb40c0ccc490614af 100644
--- a/plugins/PrivacyManager/PrivacyManager.php
+++ b/plugins/PrivacyManager/PrivacyManager.php
@@ -9,6 +9,7 @@
  * @package Piwik_PrivacyManager
  */
 use Piwik\Config;
+use Piwik\Metrics;
 use Piwik\Piwik;
 use Piwik\Common;
 
@@ -145,7 +146,7 @@ class Piwik_PrivacyManager extends Piwik_Plugin
      */
     public static function savePurgeDataSettings($settings)
     {
-        $plugin = Piwik_PluginsManager::getInstance()->getLoadedPlugin('PrivacyManager');
+        $plugin = PluginsManager::getInstance()->getLoadedPlugin('PrivacyManager');
 
         foreach (self::$defaultPurgeDataOptions as $optionName => $defaultValue) {
             if (isset($settings[$optionName])) {
@@ -318,7 +319,7 @@ class Piwik_PrivacyManager extends Piwik_Plugin
     private static function getGoalMetricsToKeep()
     {
         // keep all goal metrics
-        return array_values(Piwik_Metrics::$mappingFromIdToNameGoal);
+        return array_values(Metrics::$mappingFromIdToNameGoal);
     }
 
     /**
diff --git a/plugins/Provider/API.php b/plugins/Provider/API.php
index 937f62c48d844c66e85373db588df6d55e4a551c..63565b5301e3264679f0b9e8ffa8d361f627a741 100644
--- a/plugins/Provider/API.php
+++ b/plugins/Provider/API.php
@@ -9,6 +9,7 @@
  * @package Piwik_Provider
  */
 use Piwik\Archive;
+use Piwik\Metrics;
 use Piwik\Piwik;
 
 /**
@@ -38,7 +39,7 @@ class Piwik_Provider_API
         Piwik::checkUserHasViewAccess($idSite);
         $archive = Archive::build($idSite, $period, $date, $segment);
         $dataTable = $archive->getDataTable(Piwik_Provider_Archiver::PROVIDER_RECORD_NAME);
-        $dataTable->filter('Sort', array(Piwik_Metrics::INDEX_NB_VISITS));
+        $dataTable->filter('Sort', array(Metrics::INDEX_NB_VISITS));
         $dataTable->queueFilter('ColumnCallbackAddMetadata', array('label', 'url', 'Piwik_getHostnameUrl'));
         $dataTable->queueFilter('ColumnCallbackReplace', array('label', 'Piwik_Provider_getPrettyProviderName'));
         $dataTable->queueFilter('ReplaceColumnNames');
diff --git a/plugins/Provider/Archiver.php b/plugins/Provider/Archiver.php
index d515c5cefca1729b874bdc8d314d05e96436c737..ce782f9342194236399bfa46093578a3b5863bc2 100644
--- a/plugins/Provider/Archiver.php
+++ b/plugins/Provider/Archiver.php
@@ -8,6 +8,8 @@
  * @category Piwik_Plugins
  * @package Piwik_Provider
  */
+use Piwik\Metrics;
+
 class Piwik_Provider_Archiver extends Piwik_PluginsArchiver
 {
     const PROVIDER_RECORD_NAME = 'Provider_hostnameExt';
@@ -17,7 +19,7 @@ class Piwik_Provider_Archiver extends Piwik_PluginsArchiver
     {
         $metrics = $this->getProcessor()->getMetricsForDimension(self::PROVIDER_FIELD);
         $tableProvider = $this->getProcessor()->getDataTableFromDataArray($metrics);
-        $this->getProcessor()->insertBlobRecord(self::PROVIDER_RECORD_NAME, $tableProvider->getSerialized($this->maximumRows, null, Piwik_Metrics::INDEX_NB_VISITS));
+        $this->getProcessor()->insertBlobRecord(self::PROVIDER_RECORD_NAME, $tableProvider->getSerialized($this->maximumRows, null, Metrics::INDEX_NB_VISITS));
     }
 
     public function archivePeriod()
diff --git a/plugins/Referers/API.php b/plugins/Referers/API.php
index 3486969fef725b3732c8942c633cdc8d1a4bf10e..16168b532a239568445eae584aa826791d9e4f62 100644
--- a/plugins/Referers/API.php
+++ b/plugins/Referers/API.php
@@ -9,6 +9,7 @@
  * @package Piwik_Referers
  */
 use Piwik\Archive;
+use Piwik\Metrics;
 use Piwik\Piwik;
 use Piwik\Common;
 
@@ -47,7 +48,7 @@ class Piwik_Referers_API
     protected function getDataTable($name, $idSite, $period, $date, $segment, $expanded = false, $idSubtable = null)
     {
         $dataTable = Archive::getDataTableFromArchive($name, $idSite, $period, $date, $segment, $expanded, $idSubtable);
-        $dataTable->filter('Sort', array(Piwik_Metrics::INDEX_NB_VISITS, 'desc', $naturalSort = false, $expanded));
+        $dataTable->filter('Sort', array(Metrics::INDEX_NB_VISITS, 'desc', $naturalSort = false, $expanded));
         $dataTable->queueFilter('ReplaceColumnNames');
         return $dataTable;
     }
@@ -130,7 +131,7 @@ class Piwik_Referers_API
 
         $dataTable = $dataTable->mergeSubtables($labelColumn = 'referrer_type', $useMetadataColumn = true);
 
-        $dataTable->filter('Sort', array(Piwik_Metrics::INDEX_NB_VISITS, 'desc'));
+        $dataTable->filter('Sort', array(Metrics::INDEX_NB_VISITS, 'desc'));
         $dataTable->queueFilter('ReplaceColumnNames');
         $dataTable->queueFilter('ReplaceSummaryRowLabel');
 
@@ -377,7 +378,7 @@ class Piwik_Referers_API
 
         // prettify the DataTable
         $dataTable->filter('ColumnCallbackReplace', array('label', 'Piwik_Referrers_removeUrlProtocol'));
-        $dataTable->filter('Sort', array(Piwik_Metrics::INDEX_NB_VISITS, 'desc', $naturalSort = false, $expanded));
+        $dataTable->filter('Sort', array(Metrics::INDEX_NB_VISITS, 'desc', $naturalSort = false, $expanded));
         $dataTable->queueFilter('ReplaceColumnNames');
 
         return $dataTable;
diff --git a/plugins/Referers/Archiver.php b/plugins/Referers/Archiver.php
index 42af90b3201ea059523d555700f110e720b89bf6..7c7b484f024af97feef4475817ea357f738db2ef 100644
--- a/plugins/Referers/Archiver.php
+++ b/plugins/Referers/Archiver.php
@@ -1,6 +1,7 @@
 <?php
 use Piwik\Common;
 use Piwik\Config;
+use Piwik\Metrics;
 
 /**
  * Piwik - Open source web analytics
@@ -34,7 +35,7 @@ class Piwik_Referers_Archiver extends Piwik_PluginsArchiver
     function __construct($processor)
     {
         parent::__construct($processor);
-        $this->columnToSortByBeforeTruncation = Piwik_Metrics::INDEX_NB_VISITS;
+        $this->columnToSortByBeforeTruncation = Metrics::INDEX_NB_VISITS;
         $this->maximumRowsInDataTableLevelZero = Config::getInstance()->General['datatable_archiving_maximum_rows_referers'];
         $this->maximumRowsInSubDataTable = Config::getInstance()->General['datatable_archiving_maximum_rows_subtable_referers'];
     }
diff --git a/plugins/Referers/Controller.php b/plugins/Referers/Controller.php
index 050965a734a8ecfc8b8adf7dcad1603b9c0f6aeb..06f2c1ca712e1567844548d63766b2c2a056fee0 100644
--- a/plugins/Referers/Controller.php
+++ b/plugins/Referers/Controller.php
@@ -8,6 +8,8 @@
  * @category Piwik_Plugins
  * @package Piwik_Referers
  */
+use Piwik\Metrics;
+use Piwik\Period_Range;
 use Piwik\Piwik;
 use Piwik\Common;
 
@@ -49,7 +51,7 @@ class Piwik_Referers_Controller extends Piwik_Controller
         }
 
         // calculate evolution for visit metrics & distinct metrics
-        list($lastPeriodDate, $ignore) = Piwik_Period_Range::getLastDate();
+        list($lastPeriodDate, $ignore) = Period_Range::getLastDate();
         if ($lastPeriodDate !== false) {
             $date = Common::getRequestVar('date');
             $period = Common::getRequestVar('period');
@@ -439,7 +441,7 @@ class Piwik_Referers_Controller extends Piwik_Controller
             $value = 0;
             $row = $dataTableReferersType->getRowFromLabel($columnId);
             if ($row !== false) {
-                $value = $row->getColumn(Piwik_Metrics::INDEX_NB_VISITS);
+                $value = $row->getColumn(Metrics::INDEX_NB_VISITS);
             }
             $return[$nameVar] = $value;
         }
diff --git a/plugins/SegmentEditor/API.php b/plugins/SegmentEditor/API.php
index c3c04a054ebe27f3a75c1726bc059ded6b78b7da..855affb5e6875e81f61ae463bdac8fe00d8beb7d 100644
--- a/plugins/SegmentEditor/API.php
+++ b/plugins/SegmentEditor/API.php
@@ -10,6 +10,7 @@
  */
 use Piwik\Piwik;
 use Piwik\Common;
+use Piwik\Segment;
 
 /**
  * The SegmentEditor API lets you add, update, delete custom Segments, and list saved segments.a
@@ -42,7 +43,7 @@ class Piwik_SegmentEditor_API
         $definition = str_replace("&", '%26', $definition);
 
         try {
-            $segment = new Piwik_Segment($definition, $idSite);
+            $segment = new Segment($definition, $idSite);
             $segment->getHash();
         } catch (Exception $e) {
             throw new Exception("The specified segment is invalid: " . $e->getMessage());
diff --git a/plugins/SitesManager/Controller.php b/plugins/SitesManager/Controller.php
index 55a4e8383be80f7a2e5888a15d35cb258a6c2210..d5dd1c8be0f6345177d23c2128cd35e2660ded20 100644
--- a/plugins/SitesManager/Controller.php
+++ b/plugins/SitesManager/Controller.php
@@ -62,7 +62,7 @@ class Piwik_SitesManager_Controller extends Piwik_Controller_Admin
 
         $view->globalSearchKeywordParameters = Piwik_SitesManager_API::getInstance()->getSearchKeywordParametersGlobal();
         $view->globalSearchCategoryParameters = Piwik_SitesManager_API::getInstance()->getSearchCategoryParametersGlobal();
-        $view->isSearchCategoryTrackingEnabled = Piwik_PluginsManager::getInstance()->isPluginActivated('CustomVariables');
+        $view->isSearchCategoryTrackingEnabled = PluginsManager::getInstance()->isPluginActivated('CustomVariables');
         $view->allowSiteSpecificUserAgentExclude =
             Piwik_SitesManager_API::getInstance()->isSiteSpecificUserAgentExcludeEnabled();
 
diff --git a/plugins/Transitions/API.php b/plugins/Transitions/API.php
index ccb17fc87596b042b3c1c038c308ba82888eb664..fe84b328cb7d5c91525159400901fed450ffc8d7 100644
--- a/plugins/Transitions/API.php
+++ b/plugins/Transitions/API.php
@@ -8,9 +8,12 @@
  * @category Piwik_Plugins
  * @package Piwik_Transitions
  */
+use Piwik\Metrics;
 use Piwik\Period;
 use Piwik\Piwik;
 use Piwik\Common;
+use Piwik\Segment;
+use Piwik\SegmentExpression;
 use Piwik\Site;
 
 /**
@@ -66,7 +69,7 @@ class Piwik_Transitions_API
         }
 
         // prepare archive processing that can be used by the archiving code
-        $segment = new Piwik_Segment($segment, $idSite);
+        $segment = new Segment($segment, $idSite);
         $site = new Site($idSite);
         $period = Period::advancedFactory($period, $date);
         $archiveProcessor = new Piwik_ArchiveProcessor_Day($period, $site, $segment);
@@ -110,9 +113,9 @@ class Piwik_Transitions_API
         );
         foreach ($reportNames as $reportName => $replaceLabel) {
             if (isset($report[$reportName])) {
-                $columnNames = array(Piwik_Metrics::INDEX_NB_ACTIONS => 'referrals');
+                $columnNames = array(Metrics::INDEX_NB_ACTIONS => 'referrals');
                 if ($replaceLabel) {
-                    $columnNames[Piwik_Metrics::INDEX_NB_ACTIONS] = 'referrals';
+                    $columnNames[Metrics::INDEX_NB_ACTIONS] = 'referrals';
                 }
                 $report[$reportName]->filter('ReplaceColumnNames', array($columnNames));
             }
@@ -131,25 +134,25 @@ class Piwik_Transitions_API
             case 'url':
                 $originalActionName = $actionName;
                 $actionName = Common::unsanitizeInputValue($actionName);
-                $id = $actionsPlugin->getIdActionFromSegment($actionName, 'idaction_url', Piwik_SegmentExpression::MATCH_EQUAL, 'pageUrl');
+                $id = $actionsPlugin->getIdActionFromSegment($actionName, 'idaction_url', SegmentExpression::MATCH_EQUAL, 'pageUrl');
 
                 if ($id < 0) {
                     // an example where this is needed is urls containing < or >
                     $actionName = $originalActionName;
-                    $id = $actionsPlugin->getIdActionFromSegment($actionName, 'idaction_url', Piwik_SegmentExpression::MATCH_EQUAL, 'pageUrl');
+                    $id = $actionsPlugin->getIdActionFromSegment($actionName, 'idaction_url', SegmentExpression::MATCH_EQUAL, 'pageUrl');
                 }
 
                 return $id;
 
             case 'title':
-                $id = $actionsPlugin->getIdActionFromSegment($actionName, 'idaction_name', Piwik_SegmentExpression::MATCH_EQUAL, 'pageTitle');
+                $id = $actionsPlugin->getIdActionFromSegment($actionName, 'idaction_name', SegmentExpression::MATCH_EQUAL, 'pageTitle');
 
                 if ($id < 0) {
                     $unknown = Piwik_Actions_ArchivingHelper::getUnknownActionName(
                         Piwik_Tracker_Action::TYPE_ACTION_NAME);
 
                     if (trim($actionName) == trim($unknown)) {
-                        $id = $actionsPlugin->getIdActionFromSegment('', 'idaction_name', Piwik_SegmentExpression::MATCH_EQUAL, 'pageTitle');
+                        $id = $actionsPlugin->getIdActionFromSegment('', 'idaction_name', SegmentExpression::MATCH_EQUAL, 'pageTitle');
                     }
                 }
 
@@ -287,7 +290,7 @@ class Piwik_Transitions_API
                 . 'log_link_visit_action.idaction_' . $type . ' != ' . intval($idaction) . ')';
         }
 
-        $metrics = array(Piwik_Metrics::INDEX_NB_ACTIONS);
+        $metrics = array(Metrics::INDEX_NB_ACTIONS);
         $data = $logAggregator->queryActionsByDimension(array($dimension), $where, $selects, $metrics, $rankingQuery, $joinLogActionColumn);
 
         $this->totalTransitionsToFollowingActions = 0;
@@ -296,11 +299,11 @@ class Piwik_Transitions_API
             $dataTable = new Piwik_DataTable;
             if (isset($data[$type])) {
                 foreach ($data[$type] as &$record) {
-                    $actions = intval($record[Piwik_Metrics::INDEX_NB_ACTIONS]);
+                    $actions = intval($record[Metrics::INDEX_NB_ACTIONS]);
                     $dataTable->addRow(new Piwik_DataTable_Row(array(
                                                                     Piwik_DataTable_Row::COLUMNS => array(
                                                                         'label'                         => $this->getPageLabel($record, $isTitle),
-                                                                        Piwik_Metrics::INDEX_NB_ACTIONS => $actions
+                                                                        Metrics::INDEX_NB_ACTIONS => $actions
                                                                     )
                                                                )));
                     $this->totalTransitionsToFollowingActions += $actions;
@@ -362,14 +365,14 @@ class Piwik_Transitions_API
         $type = $this->getColumnTypeSuffix($actionType);
         $where = 'visit_entry_idaction_' . $type . ' = ' . intval($idaction);
 
-        $metrics = array(Piwik_Metrics::INDEX_NB_VISITS);
+        $metrics = array(Metrics::INDEX_NB_VISITS);
         $data = $logAggregator->queryVisitsByDimension($dimensions, $where, $selects, $metrics, $rankingQuery);
 
         $referrerData = array();
         $referrerSubData = array();
 
         foreach ($data as $referrerType => &$subData) {
-            $referrerData[$referrerType] = array(Piwik_Metrics::INDEX_NB_VISITS => 0);
+            $referrerData[$referrerType] = array(Metrics::INDEX_NB_VISITS => 0);
             if ($referrerType != Common::REFERER_TYPE_DIRECT_ENTRY) {
                 $referrerSubData[$referrerType] = array();
             }
@@ -379,12 +382,12 @@ class Piwik_Transitions_API
                     $row['referrer_data'] = Piwik_Referers_API::LABEL_KEYWORD_NOT_DEFINED;
                 }
 
-                $referrerData[$referrerType][Piwik_Metrics::INDEX_NB_VISITS] += $row[Piwik_Metrics::INDEX_NB_VISITS];
+                $referrerData[$referrerType][Metrics::INDEX_NB_VISITS] += $row[Metrics::INDEX_NB_VISITS];
 
                 $label = $row['referrer_data'];
                 if ($label) {
                     $referrerSubData[$referrerType][$label] = array(
-                        Piwik_Metrics::INDEX_NB_VISITS => $row[Piwik_Metrics::INDEX_NB_VISITS]
+                        Metrics::INDEX_NB_VISITS => $row[Metrics::INDEX_NB_VISITS]
                     );
                 }
             }
@@ -443,7 +446,7 @@ class Piwik_Transitions_API
         } else {
             $joinLogActionOn = $dimension;
         }
-        $metrics = array(Piwik_Metrics::INDEX_NB_ACTIONS);
+        $metrics = array(Metrics::INDEX_NB_ACTIONS);
         $data = $logAggregator->queryActionsByDimension(array($dimension), $where, $selects, $metrics, $rankingQuery, $joinLogActionOn);
 
         $loops = 0;
@@ -451,11 +454,11 @@ class Piwik_Transitions_API
         $previousPagesDataTable = new Piwik_DataTable;
         if (isset($data['result'][1])) {
             foreach ($data['result'][1] as &$page) {
-                $nbActions = intval($page[Piwik_Metrics::INDEX_NB_ACTIONS]);
+                $nbActions = intval($page[Metrics::INDEX_NB_ACTIONS]);
                 $previousPagesDataTable->addRow(new Piwik_DataTable_Row(array(
                                                                              Piwik_DataTable_Row::COLUMNS => array(
                                                                                  'label'                         => $this->getPageLabel($page, $isTitle),
-                                                                                 Piwik_Metrics::INDEX_NB_ACTIONS => $nbActions
+                                                                                 Metrics::INDEX_NB_ACTIONS => $nbActions
                                                                              )
                                                                         )));
                 $nbPageviews += $nbActions;
@@ -465,11 +468,11 @@ class Piwik_Transitions_API
         $previousSearchesDataTable = new Piwik_DataTable;
         if (isset($data['result'][2])) {
             foreach ($data['result'][2] as &$search) {
-                $nbActions = intval($search[Piwik_Metrics::INDEX_NB_ACTIONS]);
+                $nbActions = intval($search[Metrics::INDEX_NB_ACTIONS]);
                 $previousSearchesDataTable->addRow(new Piwik_DataTable_Row(array(
                                                                                 Piwik_DataTable_Row::COLUMNS => array(
                                                                                     'label'                         => $search['name'],
-                                                                                    Piwik_Metrics::INDEX_NB_ACTIONS => $nbActions
+                                                                                    Metrics::INDEX_NB_ACTIONS => $nbActions
                                                                                 )
                                                                            )));
                 $nbPageviews += $nbActions;
@@ -478,12 +481,12 @@ class Piwik_Transitions_API
 
         if (isset($data['result'][0])) {
             foreach ($data['result'][0] as &$referrer) {
-                $nbPageviews += intval($referrer[Piwik_Metrics::INDEX_NB_ACTIONS]);
+                $nbPageviews += intval($referrer[Metrics::INDEX_NB_ACTIONS]);
             }
         }
 
         if (count($data['excludedFromLimit'])) {
-            $loops += intval($data['excludedFromLimit'][0][Piwik_Metrics::INDEX_NB_ACTIONS]);
+            $loops += intval($data['excludedFromLimit'][0][Metrics::INDEX_NB_ACTIONS]);
             $nbPageviews += $loops;
         }
 
@@ -555,7 +558,7 @@ class Piwik_Transitions_API
         $report['referrers'] = array();
         foreach ($data->getRows() as $row) {
             $referrerId = $row->getColumn('label');
-            $visits = $row->getColumn(Piwik_Metrics::INDEX_NB_VISITS);
+            $visits = $row->getColumn(Metrics::INDEX_NB_VISITS);
             if ($visits) {
                 // load details (i.e. subtables)
                 $details = array();
@@ -564,7 +567,7 @@ class Piwik_Transitions_API
                     foreach ($subTable->getRows() as $subRow) {
                         $details[] = array(
                             'label'     => $subRow->getColumn('label'),
-                            'referrals' => $subRow->getColumn(Piwik_Metrics::INDEX_NB_VISITS)
+                            'referrals' => $subRow->getColumn(Metrics::INDEX_NB_VISITS)
                         );
                     }
                 }
diff --git a/plugins/UserCountry/API.php b/plugins/UserCountry/API.php
index 9822461d179ca94c06d9c0eae3b3d627cfe4f9ed..79aaf191c57d1c05c57b3db3374c44f8e3c96be9 100644
--- a/plugins/UserCountry/API.php
+++ b/plugins/UserCountry/API.php
@@ -9,6 +9,7 @@
  * @package Piwik_UserCountry
  */
 use Piwik\Archive;
+use Piwik\Metrics;
 use Piwik\Piwik;
 
 /**
@@ -194,7 +195,7 @@ class Piwik_UserCountry_API
         Piwik::checkUserHasViewAccess($idSite);
         $archive = Archive::build($idSite, $period, $date, $segment);
         $dataTable = $archive->getDataTable($name);
-        $dataTable->filter('Sort', array(Piwik_Metrics::INDEX_NB_VISITS));
+        $dataTable->filter('Sort', array(Metrics::INDEX_NB_VISITS));
         $dataTable->queueFilter('ReplaceColumnNames');
         return $dataTable;
     }
diff --git a/plugins/UserCountry/Archiver.php b/plugins/UserCountry/Archiver.php
index deac72405c3d7d59b26194e2bd2710dc81ad4ead..4667e38474426171dad792f14b7f9e7ee127af84 100644
--- a/plugins/UserCountry/Archiver.php
+++ b/plugins/UserCountry/Archiver.php
@@ -9,6 +9,8 @@
  * @package Piwik_UserCountry
  */
 
+use Piwik\Metrics;
+
 class Piwik_UserCountry_Archiver extends Piwik_PluginsArchiver
 {
     const COUNTRY_RECORD_NAME = 'UserCountry_country';
@@ -127,12 +129,12 @@ class Piwik_UserCountry_Archiver extends Piwik_PluginsArchiver
         $this->getProcessor()->insertNumericRecord(self::DISTINCT_COUNTRIES_METRIC, $tableCountry->getRowsCount());
 
         $tableRegion = Piwik_ArchiveProcessor_Day::getDataTableFromDataArray($this->arrays[self::REGION_FIELD]);
-        $serialized = $tableRegion->getSerialized($this->maximumRows, $this->maximumRows, Piwik_Metrics::INDEX_NB_VISITS);
+        $serialized = $tableRegion->getSerialized($this->maximumRows, $this->maximumRows, Metrics::INDEX_NB_VISITS);
         $this->getProcessor()->insertBlobRecord(self::REGION_RECORD_NAME, $serialized);
 
         $tableCity = Piwik_ArchiveProcessor_Day::getDataTableFromDataArray($this->arrays[self::CITY_FIELD]);
         $this->setLatitudeLongitude($tableCity);
-        $serialized = $tableCity->getSerialized($this->maximumRows, $this->maximumRows, Piwik_Metrics::INDEX_NB_VISITS);
+        $serialized = $tableCity->getSerialized($this->maximumRows, $this->maximumRows, Metrics::INDEX_NB_VISITS);
         $this->getProcessor()->insertBlobRecord(self::CITY_RECORD_NAME, $serialized);
     }
 
diff --git a/plugins/UserCountryMap/Controller.php b/plugins/UserCountryMap/Controller.php
index 5230677287f4985b2231ab63cc8ceb32e465e33f..50b2986ae16710f2248bc646a2bc1828a22fb691 100644
--- a/plugins/UserCountryMap/Controller.php
+++ b/plugins/UserCountryMap/Controller.php
@@ -163,7 +163,7 @@ class Piwik_UserCountryMap_Controller extends Piwik_Controller
 
     private function checkUserCountryPluginEnabled()
     {
-        if (!Piwik_PluginsManager::getInstance()->isPluginActivated('UserCountry')) {
+        if (!PluginsManager::getInstance()->isPluginActivated('UserCountry')) {
             throw new Exception(Piwik_Translate('General_Required', 'Plugin UserCountry'));
         }
     }
diff --git a/plugins/UserSettings/API.php b/plugins/UserSettings/API.php
index 87ec1506522d048be7cc36b2dc335f73defd2b4b..7a9f5b6dda45e8ec64dbedf7a76ee18b3a5cfaba 100644
--- a/plugins/UserSettings/API.php
+++ b/plugins/UserSettings/API.php
@@ -9,6 +9,7 @@
  * @package Piwik_UserSettings
  */
 use Piwik\Archive;
+use Piwik\Metrics;
 use Piwik\Piwik;
 
 /**
@@ -39,7 +40,7 @@ class Piwik_UserSettings_API
         Piwik::checkUserHasViewAccess($idSite);
         $archive = Archive::build($idSite, $period, $date, $segment);
         $dataTable = $archive->getDataTable($name);
-        $dataTable->filter('Sort', array(Piwik_Metrics::INDEX_NB_VISITS));
+        $dataTable->filter('Sort', array(Metrics::INDEX_NB_VISITS));
         $dataTable->queueFilter('ReplaceColumnNames');
         $dataTable->queueFilter('ReplaceSummaryRowLabel');
         return $dataTable;
@@ -105,8 +106,8 @@ class Piwik_UserSettings_API
     protected function ensureDefaultRowsInTable($dataTable)
     {
         $requiredRows = array(
-            'General_Desktop' => Piwik_Metrics::INDEX_NB_VISITS,
-            'General_Mobile'  => Piwik_Metrics::INDEX_NB_VISITS
+            'General_Desktop' => Metrics::INDEX_NB_VISITS,
+            'General_Mobile'  => Metrics::INDEX_NB_VISITS
         );
 
         $dataTables = array($dataTable);
@@ -218,7 +219,7 @@ class Piwik_UserSettings_API
 
             $ieStats = $browserType->getRowFromLabel('ie');
             if ($ieStats !== false) {
-                $ieVisits = $ieStats->getColumn(Piwik_Metrics::INDEX_NB_VISITS);
+                $ieVisits = $ieStats->getColumn(Metrics::INDEX_NB_VISITS);
             }
 
             $visitsSum = $visitsSumTotal - $ieVisits;
@@ -230,7 +231,7 @@ class Piwik_UserSettings_API
 
             // The filter must be applied now so that the new column can
             // be sorted by the generic filters (applied right after this loop exits)
-            $table->filter('ColumnCallbackAddColumnPercentage', array('nb_visits_percentage', Piwik_Metrics::INDEX_NB_VISITS, $visitsSum, 1));
+            $table->filter('ColumnCallbackAddColumnPercentage', array('nb_visits_percentage', Metrics::INDEX_NB_VISITS, $visitsSum, 1));
             $table->filter('RangeCheck', array('nb_visits_percentage'));
         }
 
diff --git a/plugins/UserSettings/Archiver.php b/plugins/UserSettings/Archiver.php
index cdfd893faf85acd0ab7c936e9892b7736b4eac40..0c53938257a147b33a82780e57982b7604ce1677 100644
--- a/plugins/UserSettings/Archiver.php
+++ b/plugins/UserSettings/Archiver.php
@@ -10,6 +10,7 @@
  */
 
 use Piwik\Common;
+use Piwik\Metrics;
 
 require_once PIWIK_INCLUDE_PATH . '/plugins/UserSettings/functions.php';
 
@@ -112,7 +113,7 @@ class Piwik_UserSettings_Archiver extends Piwik_PluginsArchiver
 
         $query = $this->getLogAggregator()->queryVisitsByDimension(array(), false, $selects, $metrics = array());
         $data = $query->fetch();
-        $cleanRow = Piwik_DataAccess_LogAggregator::makeArrayOneColumn($data, Piwik_Metrics::INDEX_NB_VISITS);
+        $cleanRow = Piwik_DataAccess_LogAggregator::makeArrayOneColumn($data, Metrics::INDEX_NB_VISITS);
         $table = Piwik_DataTable::makeFromIndexedArray($cleanRow);
         $this->insertTable(self::PLUGIN_RECORD_NAME, $table);
     }
@@ -133,7 +134,7 @@ class Piwik_UserSettings_Archiver extends Piwik_PluginsArchiver
 
     protected function insertTable($recordName, Piwik_DataTable $table)
     {
-        return $this->getProcessor()->insertBlobRecord($recordName, $table->getSerialized($this->maximumRows, null, Piwik_Metrics::INDEX_NB_VISITS));
+        return $this->getProcessor()->insertBlobRecord($recordName, $table->getSerialized($this->maximumRows, null, Metrics::INDEX_NB_VISITS));
     }
 
     public function archivePeriod()
diff --git a/plugins/VisitFrequency/API.php b/plugins/VisitFrequency/API.php
index 49473b51929ed05759e27fe745ada3f6371e72e5..08d37c30b2cf87a8a0ddfad68bc88e744c71609b 100644
--- a/plugins/VisitFrequency/API.php
+++ b/plugins/VisitFrequency/API.php
@@ -9,6 +9,7 @@
  * @package Piwik_VisitFrequency
  */
 use Piwik\Piwik;
+use Piwik\SegmentExpression;
 
 /**
  * VisitFrequency API lets you access a list of metrics related to Returning Visitors.
@@ -52,7 +53,7 @@ class Piwik_VisitFrequency_API
         if (empty($segment)) {
             $segment = '';
         } else {
-            $segment .= Piwik_SegmentExpression::AND_DELIMITER;
+            $segment .= SegmentExpression::AND_DELIMITER;
         }
         $segment .= self::RETURNING_VISITOR_SEGMENT;
         return $segment;
diff --git a/plugins/VisitTime/API.php b/plugins/VisitTime/API.php
index c8a3dd86e68c7fa1ca0061024c30fee4ab4f4163..9075c6553298e34509818f9defbdecdd44f686d3 100644
--- a/plugins/VisitTime/API.php
+++ b/plugins/VisitTime/API.php
@@ -9,6 +9,7 @@
  * @package Piwik_VisitTime
  */
 use Piwik\Archive;
+use Piwik\Metrics;
 use Piwik\Period;
 use Piwik\Piwik;
 use Piwik\Site;
@@ -71,8 +72,8 @@ class Piwik_VisitTime_API
         Piwik::checkUserHasViewAccess($idSite);
 
         // metrics to query
-        $metrics = Piwik_Metrics::getVisitsMetricNames();
-        unset($metrics[Piwik_Metrics::INDEX_MAX_ACTIONS]);
+        $metrics = Metrics::getVisitsMetricNames();
+        unset($metrics[Metrics::INDEX_MAX_ACTIONS]);
         
         // disabled for multiple dates
         if (Period::isMultiplePeriod($date, $period)) {
diff --git a/plugins/VisitorInterest/API.php b/plugins/VisitorInterest/API.php
index 9cd295cf40f119be4b80ed61b3e102c1ae0b951c..f93abbcb34cb24a3c1ef07aef322b258b68f54f1 100644
--- a/plugins/VisitorInterest/API.php
+++ b/plugins/VisitorInterest/API.php
@@ -9,6 +9,7 @@
  * @package Piwik_VisitorInterest
  */
 use Piwik\Archive;
+use Piwik\Metrics;
 use Piwik\Piwik;
 
 /**
@@ -29,7 +30,7 @@ class Piwik_VisitorInterest_API
         return self::$instance;
     }
 
-    protected function getDataTable($name, $idSite, $period, $date, $segment, $column = Piwik_Metrics::INDEX_NB_VISITS)
+    protected function getDataTable($name, $idSite, $period, $date, $segment, $column = Metrics::INDEX_NB_VISITS)
     {
         Piwik::checkUserHasViewAccess($idSite);
         $archive = Archive::build($idSite, $period, $date, $segment);
@@ -72,7 +73,7 @@ class Piwik_VisitorInterest_API
     public function getNumberOfVisitsByDaysSinceLast($idSite, $period, $date, $segment = false)
     {
         $dataTable = $this->getDataTable(
-            Piwik_VisitorInterest_Archiver::DAYS_SINCE_LAST_RECORD_NAME, $idSite, $period, $date, $segment, Piwik_Metrics::INDEX_NB_VISITS);
+            Piwik_VisitorInterest_Archiver::DAYS_SINCE_LAST_RECORD_NAME, $idSite, $period, $date, $segment, Metrics::INDEX_NB_VISITS);
         $dataTable->queueFilter('Sort', array('label', 'asc', true));
         $dataTable->queueFilter('BeautifyRangeLabels', array(
                                                             Piwik_Translate('General_OneDay'), Piwik_Translate('General_NDays')));
@@ -93,7 +94,7 @@ class Piwik_VisitorInterest_API
     public function getNumberOfVisitsByVisitCount($idSite, $period, $date, $segment = false)
     {
         $dataTable = $this->getDataTable(
-            Piwik_VisitorInterest_Archiver::VISITS_COUNT_RECORD_NAME, $idSite, $period, $date, $segment, Piwik_Metrics::INDEX_NB_VISITS);
+            Piwik_VisitorInterest_Archiver::VISITS_COUNT_RECORD_NAME, $idSite, $period, $date, $segment, Metrics::INDEX_NB_VISITS);
 
         $dataTable->queueFilter('BeautifyRangeLabels', array(
                                                             Piwik_Translate('General_OneVisit'), Piwik_Translate('General_NVisits')));
@@ -118,7 +119,7 @@ class Piwik_VisitorInterest_API
                 self::addVisitsPercentColumn($table);
             }
         } else {
-            $totalVisits = array_sum($dataTable->getColumn(Piwik_Metrics::INDEX_NB_VISITS));
+            $totalVisits = array_sum($dataTable->getColumn(Metrics::INDEX_NB_VISITS));
             $dataTable->queueFilter('ColumnCallbackAddColumnPercentage', array('nb_visits_percentage', 'nb_visits', $totalVisits));
         }
     }
diff --git a/plugins/VisitorInterest/Archiver.php b/plugins/VisitorInterest/Archiver.php
index 2e5a24dbc7298bca8c1ffd4c910385a85e4c0747..4c38bf1a7f02a126f6a221c2646ceee8100db4a6 100644
--- a/plugins/VisitorInterest/Archiver.php
+++ b/plugins/VisitorInterest/Archiver.php
@@ -9,6 +9,8 @@
  * @package Piwik_VisitorInterest
  */
 
+use Piwik\Metrics;
+
 class Piwik_VisitorInterest_Archiver extends Piwik_PluginsArchiver
 {
     // third element is unit (s for seconds, default is munutes)
@@ -107,7 +109,7 @@ class Piwik_VisitorInterest_Archiver extends Piwik_PluginsArchiver
         $query = $this->getLogAggregator()->queryVisitsByDimension(array(), $where = false, $selects, array());
         $row = $query->fetch();
         foreach($prefixes as $recordName => $selectAsPrefix) {
-            $cleanRow = Piwik_DataAccess_LogAggregator::makeArrayOneColumn($row, Piwik_Metrics::INDEX_NB_VISITS, $selectAsPrefix);
+            $cleanRow = Piwik_DataAccess_LogAggregator::makeArrayOneColumn($row, Metrics::INDEX_NB_VISITS, $selectAsPrefix);
             $dataTable = Piwik_DataTable::makeFromIndexedArray($cleanRow);
             $this->getProcessor()->insertBlobRecord($recordName, $dataTable->getSerialized());
         }
diff --git a/plugins/VisitorInterest/Controller.php b/plugins/VisitorInterest/Controller.php
index e2b9936c7fe4b9c0e8da343b67719231925b2d85..cecb7fd61c635068e9b5bdf9230dabbe3a6eb3d0 100644
--- a/plugins/VisitorInterest/Controller.php
+++ b/plugins/VisitorInterest/Controller.php
@@ -8,6 +8,7 @@
  * @category Piwik_Plugins
  * @package Piwik_VisitorInterest
  */
+use Piwik\Metrics;
 
 /**
  * @package Piwik_VisitorInterest
@@ -73,7 +74,7 @@ class Piwik_VisitorInterest_Controller extends Piwik_Controller
         $view->setColumnsToDisplay(array('label', 'nb_visits', 'nb_visits_percentage'));
         $view->setSortedColumn('label', 'asc');
         $view->setColumnTranslation('label', Piwik_Translate('VisitorInterest_VisitNum'));
-        $view->setColumnTranslation('nb_visits_percentage', Piwik_Metrics::getPercentVisitColumn());
+        $view->setColumnTranslation('nb_visits_percentage', Metrics::getPercentVisitColumn());
         $view->disableExcludeLowPopulation();
         $view->disableOffsetInformationAndPaginationControls();
         $view->disableShowAllViewsIcons();
diff --git a/tests/LocalTracker.php b/tests/LocalTracker.php
index e7c64ad96c4d48528e66fc7875159d7b958718f3..123dbf94baab6108c1053d1dec0b966bad46e964 100755
--- a/tests/LocalTracker.php
+++ b/tests/LocalTracker.php
@@ -53,7 +53,7 @@ class Piwik_LocalTracker extends PiwikTracker
         $pluginsTracker = Config::getInstance()->Plugins_Tracker['Plugins_Tracker'];
         $oldTrackerConfig = Config::getInstance()->Tracker;
 
-        Piwik_PluginsManager::getInstance()->unloadPlugins();
+        PluginsManager::getInstance()->unloadPlugins();
 
         // modify config
         $GLOBALS['PIWIK_TRACKER_MODE'] = true;
@@ -94,7 +94,7 @@ class Piwik_LocalTracker extends PiwikTracker
         unset($_GET['bots']);
 
         // reload plugins
-        Piwik_PluginsManager::getInstance()->loadPlugins($plugins);
+        PluginsManager::getInstance()->loadPlugins($plugins);
 
         return $output;
     }
diff --git a/tests/PHPUnit/Core/ArchiveProcessingTest.php b/tests/PHPUnit/Core/ArchiveProcessingTest.php
index 68ec9bb0f4d6e02bd8f7fbda5721e6bc65944292..7e4a677274ff041e866e914c711a164c114740e2 100644
--- a/tests/PHPUnit/Core/ArchiveProcessingTest.php
+++ b/tests/PHPUnit/Core/ArchiveProcessingTest.php
@@ -4,6 +4,7 @@ use Piwik\Period;
 use Piwik\Piwik;
 use Piwik\Common;
 use Piwik\Access;
+use Piwik\Segment;
 use Piwik\Site;
 
 /**
@@ -58,7 +59,7 @@ class ArchiveProcessingTest extends DatabaseTestCase
         $site = $this->_createWebsite($siteTimezone);
         $date = Piwik_Date::factory($dateLabel);
         $period = Period::factory($periodLabel, $date);
-        $segment = new Piwik_Segment('', $site->getId());
+        $segment = new Segment('', $site->getId());
 
 
         if($period->getLabel() == 'day') {
diff --git a/tests/PHPUnit/Core/Period/RangeTest.php b/tests/PHPUnit/Core/Period/RangeTest.php
index ade9afc689031c0179af9d1b3b437bbb437ee46d..8103e3abae9dd74ed18aa054eaf63b8f4401ab61 100644
--- a/tests/PHPUnit/Core/Period/RangeTest.php
+++ b/tests/PHPUnit/Core/Period/RangeTest.php
@@ -5,6 +5,8 @@
  * @link http://piwik.org
  * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
  */
+use Piwik\Period_Range;
+
 class Period_RangeTest extends PHPUnit_Framework_TestCase
 {
     // test range 1
@@ -15,7 +17,7 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase
      */
     public function testRangeToday()
     {
-        $range = new Piwik_Period_Range('day', 'last1');
+        $range = new Period_Range('day', 'last1');
         $today = Piwik_Date::today();
 
         $correct = array(
@@ -35,7 +37,7 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase
     public function testRangeTodayUtcPlus12()
     {
         // rather ugly test, UTC+23 doesn't exist, but it's a way to test that last1 in UTC+23 will be "our" UTC tomorrow
-        $range = new Piwik_Period_Range('day', 'last1', 'UTC+23');
+        $range = new Period_Range('day', 'last1', 'UTC+23');
         $today = Piwik_Date::now()->addHour(23);
 
         $correct = array(
@@ -55,7 +57,7 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase
      */
     public function testRange2days()
     {
-        $range = new Piwik_Period_Range('day', 'last2');
+        $range = new Period_Range('day', 'last2');
         $today = Piwik_Date::today();
 
         $correct = array(
@@ -76,7 +78,7 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase
      */
     public function testRange5days()
     {
-        $range = new Piwik_Period_Range('day', 'last50');
+        $range = new Period_Range('day', 'last50');
         $today = Piwik_Date::today();
 
         $correct = array();
@@ -97,7 +99,7 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase
      */
     public function testRangePrevious3days()
     {
-        $range = new Piwik_Period_Range('day', 'previous3');
+        $range = new Period_Range('day', 'previous3');
         $yesterday = Piwik_Date::yesterday();
 
         $correct = array();
@@ -119,7 +121,7 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase
     public function testRangeComma1()
     {
 
-        $range = new Piwik_Period_Range('day', '2008-01-01,2008-01-03');
+        $range = new Period_Range('day', '2008-01-01,2008-01-03');
 
         $correct = array(
             '2008-01-01',
@@ -140,7 +142,7 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase
     public function testRangeComma2()
     {
 
-        $range = new Piwik_Period_Range('day', '2007-12-22,2008-01-03');
+        $range = new Period_Range('day', '2007-12-22,2008-01-03');
 
         $correct = array(
             '2007-12-22',
@@ -170,8 +172,8 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase
      */
     public function testRangeWeekcomma1()
     {
-        $range = new Piwik_Period_Range('week', '2007-12-22,2008-01-03');
-        $range2 = new Piwik_Period_Range('week', '2007-12-19,2008-01-03');
+        $range = new Period_Range('week', '2007-12-22,2008-01-03');
+        $range2 = new Period_Range('week', '2007-12-19,2008-01-03');
 
         $correct = array(
             array(
@@ -217,7 +219,7 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase
      */
     public function testRangeYearcomma1()
     {
-        $range = new Piwik_Period_Range('year', '2006-12-22,2007-01-03');
+        $range = new Period_Range('year', '2006-12-22,2007-01-03');
 
         $correct = array(
             array(
@@ -262,7 +264,7 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase
      */
     public function testRangeMonthcomma1()
     {
-        $range = new Piwik_Period_Range('month', '2006-12-22,2007-01-03');
+        $range = new Period_Range('month', '2006-12-22,2007-01-03');
 
         $correct = array(
             array(
@@ -345,7 +347,7 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase
      */
     public function testRangeWeek()
     {
-        $range = new Piwik_Period_Range('week', 'last50');
+        $range = new Period_Range('week', 'last50');
         $today = Piwik_Date::today();
 
         $correct = array();
@@ -370,7 +372,7 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase
      */
     public function testRangeWeekLast1()
     {
-        $range = new Piwik_Period_Range('week', 'last1');
+        $range = new Period_Range('week', 'last1');
         $currentWeek = new Piwik_Period_Week(Piwik_Date::today());
         $this->assertEquals(1, $range->getNumberOfSubperiods());
         $this->assertEquals(array($currentWeek->toString()), $range->toString());
@@ -384,7 +386,7 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase
      */
     public function testRangeMonth()
     {
-        $range = new Piwik_Period_Range('month', 'last20');
+        $range = new Period_Range('month', 'last20');
         $today = Piwik_Date::today();
 
         $correct = array();
@@ -408,7 +410,7 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase
      */
     public function testRangeMonthLast1()
     {
-        $range = new Piwik_Period_Range('month', 'last1');
+        $range = new Period_Range('month', 'last1');
         $month = new Piwik_Period_Month(Piwik_Date::today());
         $this->assertEquals(1, $range->getNumberOfSubperiods());
         $this->assertEquals(array($month->toString()), $range->toString());
@@ -422,7 +424,7 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase
      */
     public function testRangePreviousmonth()
     {
-        $range = new Piwik_Period_Range('month', 'previous10');
+        $range = new Period_Range('month', 'previous10');
         $end = Piwik_Date::today();
         $end = $end->subMonth(1);
 
@@ -448,7 +450,7 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase
      */
     public function testRangeYear()
     {
-        $range = new Piwik_Period_Range('year', 'last10');
+        $range = new Period_Range('year', 'last10');
         $today = Piwik_Date::today();
 
         $correct = array();
@@ -472,7 +474,7 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase
      */
     public function testRangeYearLast1()
     {
-        $range = new Piwik_Period_Range('year', 'last1');
+        $range = new Period_Range('year', 'last1');
         $currentYear = new Piwik_Period_Year(Piwik_Date::today());
         $this->assertEquals(1, $range->getNumberOfSubperiods());
         $this->assertEquals(array($currentYear->toString()), $range->toString());
@@ -485,7 +487,7 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase
      */
     public function testCustomRangeWeekInsideEndingToday()
     {
-        $range = new Piwik_Period_Range('range', '2007-12-22,2008-01-03', 'UTC', Piwik_Date::factory('2008-01-03'));
+        $range = new Period_Range('range', '2007-12-22,2008-01-03', 'UTC', Piwik_Date::factory('2008-01-03'));
 
         $correct = array(
             '2007-12-22',
@@ -529,7 +531,7 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase
         );
 
         foreach ($todays as $today) {
-            $range = new Piwik_Period_Range('range', '2007-12-22,2008-01-03', 'UTC', $today);
+            $range = new Period_Range('range', '2007-12-22,2008-01-03', 'UTC', $today);
 
             $correct = array(
                 '2007-12-22',
@@ -560,7 +562,7 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase
      */
     public function testCustomRangeOnlyDaysLessThanOneWeek()
     {
-        $range = new Piwik_Period_Range('range', '2007-12-30,2008-01-01');
+        $range = new Period_Range('range', '2007-12-30,2008-01-01');
 
         $correct = array(
             '2007-12-30',
@@ -578,7 +580,7 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase
      */
     public function testCustomRangeOneWeekOnly()
     {
-        $range = new Piwik_Period_Range('range', '2007-12-31,2008-01-06');
+        $range = new Period_Range('range', '2007-12-31,2008-01-06');
 
         $correct = array(
             array(
@@ -602,7 +604,7 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase
      */
     public function testCustomRangeStartsWithWeek()
     {
-        $range = new Piwik_Period_Range('range', '2007-12-31,2008-01-08');
+        $range = new Period_Range('range', '2007-12-31,2008-01-08');
 
         $correct = array(
             array(
@@ -628,7 +630,7 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase
      */
     public function testCustomRangeEndsWithWeek()
     {
-        $range = new Piwik_Period_Range('range', '2007-12-21,2008-01-06');
+        $range = new Period_Range('range', '2007-12-21,2008-01-06');
 
         $correct = array(
             '2007-12-21',
@@ -664,7 +666,7 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase
      */
     public function testCustomRangeContainsMonthAndWeek()
     {
-        $range = new Piwik_Period_Range('range', '2011-09-18,2011-11-02', 'UTC', Piwik_Date::factory('2012-01-01'));
+        $range = new Period_Range('range', '2011-09-18,2011-11-02', 'UTC', Piwik_Date::factory('2012-01-01'));
 
         $correct = array(
 
@@ -742,7 +744,7 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase
             Piwik_Date::factory('2021-10-18')
         );
         foreach ($todays as $today) {
-            $range = new Piwik_Period_Range('range', '2011-08-01,2011-10-17', 'UTC', $today);
+            $range = new Period_Range('range', '2011-08-01,2011-10-17', 'UTC', $today);
 
             $correct = array(
 
@@ -847,7 +849,7 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase
      */
     public function testCustomRangeOneMonthOnly()
     {
-        $range = new Piwik_Period_Range('range', '2011-09-01,2011-09-30');
+        $range = new Period_Range('range', '2011-09-01,2011-09-30');
 
         $correct = array(
             array(
@@ -893,7 +895,7 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase
      */
     public function test_CustomRange_startsWithWeek_EndsWithMonth()
     {
-        $range = new Piwik_Period_Range('range', '2011-07-25,2011-08-31');
+        $range = new Period_Range('range', '2011-07-25,2011-08-31');
 
         $correct = array(
 
@@ -951,7 +953,7 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase
     public function testCustomRangeBeforeIsAfterYearRight()
     {
         try {
-            $range = new Piwik_Period_Range('range', '2007-02-09,2007-02-01');
+            $range = new Period_Range('range', '2007-02-09,2007-02-01');
             $this->assertEquals(0, $range->getNumberOfSubperiods());
             $this->assertEquals(array(), $range->toString());
 
@@ -969,7 +971,7 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase
      */
     public function testCustomRangeLastN()
     {
-        $range = new Piwik_Period_Range('range', 'last4');
+        $range = new Period_Range('range', 'last4');
         $range->setDefaultEndDate(Piwik_Date::factory('2008-01-03'));
         $correct = array(
             '2007-12-31',
@@ -988,7 +990,7 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase
      */
     public function testCustomRangePreviousN()
     {
-        $range = new Piwik_Period_Range('range', 'previous3');
+        $range = new Period_Range('range', 'previous3');
         $range->setDefaultEndDate(Piwik_Date::factory('2008-01-03'));
         $correct = array(
             '2007-12-31',
@@ -1006,7 +1008,7 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase
      */
     public function testCustomRangePreviousNEndToday()
     {
-        $range = new Piwik_Period_Range('range', 'previous3');
+        $range = new Period_Range('range', 'previous3');
         $correct = array(
             date('Y-m-d', time() - 86400 * 3),
             date('Y-m-d', time() - 86400 * 2),
@@ -1024,7 +1026,7 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase
     public function testInvalidRangeThrows()
     {
         try {
-            $range = new Piwik_Period_Range('range', '0001-01-01,today');
+            $range = new Period_Range('range', '0001-01-01,today');
             $range->getLocalizedLongString();
         } catch (Exception $e) {
             return;
@@ -1040,7 +1042,7 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase
     public function testGetLocalizedShortString()
     {
         Piwik_Translate::getInstance()->loadEnglishTranslation();
-        $month = new Piwik_Period_Range('range', '2000-12-09,2001-02-01');
+        $month = new Period_Range('range', '2000-12-09,2001-02-01');
         $shouldBe = '9 Dec 00 - 1 Feb 01';
         $this->assertEquals($shouldBe, $month->getLocalizedShortString());
     }
@@ -1053,7 +1055,7 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase
     public function testGetLocalizedLongString()
     {
         Piwik_Translate::getInstance()->loadEnglishTranslation();
-        $month = new Piwik_Period_Range('range', '2023-05-09,2023-05-21');
+        $month = new Period_Range('range', '2023-05-09,2023-05-21');
         $shouldBe = '8 May 23 - 21 May 23';
         $this->assertEquals($shouldBe, $month->getLocalizedLongString());
     }
@@ -1066,7 +1068,7 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase
     public function testGetPrettyString()
     {
         Piwik_Translate::getInstance()->loadEnglishTranslation();
-        $month = new Piwik_Period_Range('range', '2007-02-09,2007-03-15');
+        $month = new Period_Range('range', '2007-02-09,2007-03-15');
         $shouldBe = 'From 2007-02-09 to 2007-03-15';
         $this->assertEquals($shouldBe, $month->getPrettyString());
     }
@@ -1090,7 +1092,7 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase
      */
     public function testLastNLimits($period, $lastN, $expectedLastN)
     {
-        $range = new Piwik_Period_Range($period, 'last' . $lastN);
+        $range = new Period_Range($period, 'last' . $lastN);
         $this->assertEquals($expectedLastN, $range->getNumberOfSubperiods());
     }
 }
diff --git a/tests/PHPUnit/Core/SegmentExpressionTest.php b/tests/PHPUnit/Core/SegmentExpressionTest.php
index afbfa23854a706ba2e785c0ed22196d832aa0468..75d73c754a27353aa330ab08ca7c6d183f70a3bb 100644
--- a/tests/PHPUnit/Core/SegmentExpressionTest.php
+++ b/tests/PHPUnit/Core/SegmentExpressionTest.php
@@ -5,6 +5,8 @@
  * @link http://piwik.org
  * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
  */
+use Piwik\SegmentExpression;
+
 class SegmentExpressionTest extends PHPUnit_Framework_TestCase
 {
     /**
@@ -44,7 +46,7 @@ class SegmentExpressionTest extends PHPUnit_Framework_TestCase
      */
     public function testSegmentSqlSimpleNoOperation($expression, $expectedSql)
     {
-        $segment = new Piwik_SegmentExpression($expression);
+        $segment = new SegmentExpression($expression);
         $expected = array('where' => $expectedSql, 'bind' => array(), 'join' => '');
         $processed = $segment->getSql();
         $this->assertEquals($expected, $processed);
@@ -85,7 +87,7 @@ class SegmentExpressionTest extends PHPUnit_Framework_TestCase
      */
     public function testSegmentSqlWithOperations($expression, $expectedSql)
     {
-        $segment = new Piwik_SegmentExpression($expression);
+        $segment = new SegmentExpression($expression);
         $segment->parseSubExpressions();
         $segment->parseSubExpressionsIntoSqlExpressions();
         $processed = $segment->getSql();
@@ -119,7 +121,7 @@ class SegmentExpressionTest extends PHPUnit_Framework_TestCase
     public function testBogusFiltersExpectExceptionThrown($bogus)
     {
         try {
-            $segment = new Piwik_SegmentExpression($bogus);
+            $segment = new SegmentExpression($bogus);
             $segment->parseSubExpressions();
             $segment->getSql();
         } catch (Exception $e) {
diff --git a/tests/PHPUnit/Core/SegmentTest.php b/tests/PHPUnit/Core/SegmentTest.php
index 563bb906af3979ae0990995acd2fa3d1124fc130..110880bc12885500f120175efc09725308fe2278 100644
--- a/tests/PHPUnit/Core/SegmentTest.php
+++ b/tests/PHPUnit/Core/SegmentTest.php
@@ -1,6 +1,7 @@
 <?php
 use Piwik\Common;
 use Piwik\Access;
+use Piwik\Segment;
 
 /**
  * Piwik - Open source web analytics
@@ -110,7 +111,7 @@ class SegmentTest extends PHPUnit_Framework_TestCase
             'bind' => $expected['bind']
         );
 
-        $segment = new Piwik_Segment($segment, $idSites = array());
+        $segment = new Segment($segment, $idSites = array());
         $sql = $segment->getSelectQuery($select, $from, false);
 
         $this->assertEquals($this->_filterWhitsSpaces($expected), $this->_filterWhitsSpaces($sql));
@@ -134,7 +135,7 @@ class SegmentTest extends PHPUnit_Framework_TestCase
         $bind = array(1);
 
         $segment = 'customVariableName1==Test;visitorType==new';
-        $segment = new Piwik_Segment($segment, $idSites = array());
+        $segment = new Segment($segment, $idSites = array());
 
         $query = $segment->getSelectQuery($select, $from, $where, $bind);
 
@@ -165,7 +166,7 @@ class SegmentTest extends PHPUnit_Framework_TestCase
         $bind = array(1);
 
         $segment = 'customVariablePageName1==Test;visitorType==new';
-        $segment = new Piwik_Segment($segment, $idSites = array());
+        $segment = new Segment($segment, $idSites = array());
 
         $query = $segment->getSelectQuery($select, $from, $where, $bind);
 
@@ -197,7 +198,7 @@ class SegmentTest extends PHPUnit_Framework_TestCase
         $bind = array(1);
 
         $segment = 'customVariablePageName1==Test;visitorType==new';
-        $segment = new Piwik_Segment($segment, $idSites = array());
+        $segment = new Segment($segment, $idSites = array());
 
         $query = $segment->getSelectQuery($select, $from, $where, $bind);
 
@@ -236,7 +237,7 @@ class SegmentTest extends PHPUnit_Framework_TestCase
         $bind = array(1);
 
         $segment = 'customVariablePageName1==Test;visitConvertedGoalId==1;customVariablePageName2==Test2';
-        $segment = new Piwik_Segment($segment, $idSites = array());
+        $segment = new Segment($segment, $idSites = array());
 
         $query = $segment->getSelectQuery($select, $from, $where, $bind);
 
@@ -268,7 +269,7 @@ class SegmentTest extends PHPUnit_Framework_TestCase
         $bind = array(1);
 
         $segment = 'visitConvertedGoalId!=2;customVariablePageName1==Test;visitConvertedGoalId==1';
-        $segment = new Piwik_Segment($segment, $idSites = array());
+        $segment = new Segment($segment, $idSites = array());
 
         $query = $segment->getSelectQuery($select, $from, $where, $bind);
 
@@ -300,7 +301,7 @@ class SegmentTest extends PHPUnit_Framework_TestCase
         $bind = array(1);
 
         $segment = 'visitConvertedGoalId==1';
-        $segment = new Piwik_Segment($segment, $idSites = array());
+        $segment = new Segment($segment, $idSites = array());
 
         $query = $segment->getSelectQuery($select, $from, $where, $bind);
 
@@ -338,7 +339,7 @@ class SegmentTest extends PHPUnit_Framework_TestCase
         $bind = array(1);
 
         $segment = 'visitConvertedGoalId==1';
-        $segment = new Piwik_Segment($segment, $idSites = array());
+        $segment = new Segment($segment, $idSites = array());
 
         $query = $segment->getSelectQuery($select, $from, $where, $bind);
 
@@ -369,7 +370,7 @@ class SegmentTest extends PHPUnit_Framework_TestCase
         $bind = array(1);
 
         $segment = 'visitConvertedGoalId==1,visitServerHour==12';
-        $segment = new Piwik_Segment($segment, $idSites = array());
+        $segment = new Segment($segment, $idSites = array());
 
         $query = $segment->getSelectQuery($select, $from, $where, $bind);
 
@@ -404,7 +405,7 @@ class SegmentTest extends PHPUnit_Framework_TestCase
         $bind = array();
 
         $segment = 'visitServerHour==12;visitConvertedGoalId==1';
-        $segment = new Piwik_Segment($segment, $idSites = array());
+        $segment = new Segment($segment, $idSites = array());
 
         $query = $segment->getSelectQuery($select, $from, $where, $bind);
 
@@ -438,7 +439,7 @@ class SegmentTest extends PHPUnit_Framework_TestCase
         $bind = array();
 
         $segment = 'visitConvertedGoalId==1;visitServerHour==12;customVariablePageName1==Test';
-        $segment = new Piwik_Segment($segment, $idSites = array());
+        $segment = new Segment($segment, $idSites = array());
 
         $query = $segment->getSelectQuery($select, $from, $where, $bind);
 
@@ -483,7 +484,7 @@ class SegmentTest extends PHPUnit_Framework_TestCase
     public function testBogusSegmentThrowsException($segment)
     {
         try {
-            $segment = new Piwik_Segment($segment, $idSites = array());
+            $segment = new Segment($segment, $idSites = array());
         } catch (Exception $e) {
             return;
         }
diff --git a/tests/PHPUnit/Core/TaskSchedulerTest.php b/tests/PHPUnit/Core/TaskSchedulerTest.php
index f168abc6ad23621f1cb7d40897a100305535283a..1e582af3ef4638089b0f0eadd2c163fe44139f7f 100644
--- a/tests/PHPUnit/Core/TaskSchedulerTest.php
+++ b/tests/PHPUnit/Core/TaskSchedulerTest.php
@@ -278,9 +278,9 @@ class TaskSchedulerTest extends PHPUnit_Framework_TestCase
     public function testRunTasks($expectedTimetable, $expectedExecutedTasks, $timetableBeforeTaskExecution, $configuredTasks)
     {
         // temporarily unload plugins
-        $plugins = Piwik_PluginsManager::getInstance()->getLoadedPlugins();
+        $plugins = PluginsManager::getInstance()->getLoadedPlugins();
         $plugins = array_map(function ($p) { return $p->getPluginName(); }, $plugins);
-        Piwik_PluginsManager::getInstance()->unloadPlugins();
+        PluginsManager::getInstance()->unloadPlugins();
         
         // make sure the get tasks event returns our configured tasks
         Piwik_AddAction(Piwik_TaskScheduler::GET_TASKS_EVENT, function(&$tasks) use($configuredTasks) {
@@ -303,12 +303,12 @@ class TaskSchedulerTest extends PHPUnit_Framework_TestCase
 
         // assert the timetable is correctly updated
         $getTimetableFromOptionTable = new ReflectionMethod('Piwik_TaskScheduler', 'getTimetableFromOptionTable');
-        $getTimetableFromOptionTable->setAccessible(TRUE);
+        $getTimetableFromOptionTable->setAccessible(true);
         $this->assertEquals($expectedTimetable, $getTimetableFromOptionTable->invoke(new Piwik_TaskScheduler()));
 
         // restore loaded plugins & piwik options
         Piwik_EventDispatcher::getInstance()->clearObservers(Piwik_TaskScheduler::GET_TASKS_EVENT);
-        Piwik_PluginsManager::getInstance()->loadPlugins($plugins);
+        PluginsManager::getInstance()->loadPlugins($plugins);
         self::resetPiwikOption();
     }
 
diff --git a/tests/PHPUnit/Core/Tracker/ActionTest.php b/tests/PHPUnit/Core/Tracker/ActionTest.php
index 22163644ebeef193b74ad5fd3ca8c6d25e4175ad..4a608d574539806fe30a622933360998fd0f6bb4 100644
--- a/tests/PHPUnit/Core/Tracker/ActionTest.php
+++ b/tests/PHPUnit/Core/Tracker/ActionTest.php
@@ -18,7 +18,7 @@ class Tracker_ActionTest extends DatabaseTestCase
         $config->clear();
         $config->setTestEnvironment($userFile, false);
 
-        Piwik_PluginsManager::getInstance()->loadPlugins(array('SitesManager'));
+        PluginsManager::getInstance()->loadPlugins(array('SitesManager'));
         
         Piwik_Translate::getInstance()->loadEnglishTranslation();
     }
diff --git a/tests/PHPUnit/Core/Tracker/VisitTest.php b/tests/PHPUnit/Core/Tracker/VisitTest.php
index 73514c7953c77688f478d122204144ccf7c814f2..3a3bbd415d783015b46c9543cc75a8b4d84daffa 100644
--- a/tests/PHPUnit/Core/Tracker/VisitTest.php
+++ b/tests/PHPUnit/Core/Tracker/VisitTest.php
@@ -18,7 +18,7 @@ class Tracker_VisitTest extends DatabaseTestCase
         FakeAccess::$superUser = true;
         Access::setSingletonInstance($pseudoMockAccess);
 
-        Piwik_PluginsManager::getInstance()->loadPlugins(array('SitesManager'));
+        PluginsManager::getInstance()->loadPlugins(array('SitesManager'));
     }
 
     /**
diff --git a/tests/PHPUnit/DatabaseTestCase.php b/tests/PHPUnit/DatabaseTestCase.php
index 3c4fb971d0cdd34102490e3f9e6163343d4f7e18..c1e84918ca0c20328bb2e87eb5dcab90c7c2ff31 100644
--- a/tests/PHPUnit/DatabaseTestCase.php
+++ b/tests/PHPUnit/DatabaseTestCase.php
@@ -43,7 +43,7 @@ class DatabaseTestCase extends PHPUnit_Framework_TestCase
             Piwik::createTables();
             Piwik::createLogObject();
 
-//            Piwik_PluginsManager::getInstance()->loadPlugins(array());
+//            PluginsManager::getInstance()->loadPlugins(array());
             IntegrationTestCase::loadAllPlugins();
 
         } catch (Exception $e) {
diff --git a/tests/PHPUnit/IntegrationTestCase.php b/tests/PHPUnit/IntegrationTestCase.php
index 15872d8463dff67a3ca2ff5ff956388e8cebd159..fff5efcbcd4739f98991b7ab077e44989a53180a 100755
--- a/tests/PHPUnit/IntegrationTestCase.php
+++ b/tests/PHPUnit/IntegrationTestCase.php
@@ -74,7 +74,7 @@ abstract class IntegrationTestCase extends PHPUnit_Framework_TestCase
      */
     protected static function installAndLoadPlugins($installPlugins)
     {
-        $pluginsManager = Piwik_PluginsManager::getInstance();
+        $pluginsManager = PluginsManager::getInstance();
         $plugins = $pluginsManager->readPluginsDirectory();
 
         $pluginsManager->loadPlugins($plugins);
@@ -86,7 +86,7 @@ abstract class IntegrationTestCase extends PHPUnit_Framework_TestCase
 
     public static function loadAllPlugins()
     {
-        $pluginsManager = Piwik_PluginsManager::getInstance();
+        $pluginsManager = PluginsManager::getInstance();
         $pluginsToLoad = Config::getInstance()->Plugins['Plugins'];
         $pluginsToLoad[] = 'DevicesDetection';
         
@@ -96,11 +96,11 @@ abstract class IntegrationTestCase extends PHPUnit_Framework_TestCase
     public static function unloadAllPlugins()
     {
         try {
-            $plugins = Piwik_PluginsManager::getInstance()->getLoadedPlugins();
+            $plugins = PluginsManager::getInstance()->getLoadedPlugins();
             foreach ($plugins AS $plugin) {
                 $plugin->uninstall();
             }
-            Piwik_PluginsManager::getInstance()->unloadPlugins();
+            PluginsManager::getInstance()->unloadPlugins();
         } catch (Exception $e) {
         }
     }
@@ -156,7 +156,7 @@ abstract class IntegrationTestCase extends PHPUnit_Framework_TestCase
             Piwik::createTables();
             Piwik::createLogObject();
 
-            Piwik_PluginsManager::getInstance()->loadPlugins(array());
+            PluginsManager::getInstance()->loadPlugins(array());
         } catch (Exception $e) {
             self::fail("TEST INITIALIZATION FAILED: " . $e->getMessage() . "\n" . $e->getTraceAsString());
         }
@@ -205,7 +205,7 @@ abstract class IntegrationTestCase extends PHPUnit_Framework_TestCase
         Piwik::$piwikUrlCache = null;
         IntegrationTestCase::unloadAllPlugins();
 /*
-        $plugins = Piwik_PluginsManager::getInstance()->getLoadedPlugins();
+        $plugins = PluginsManager::getInstance()->getLoadedPlugins();
         foreach ($plugins AS $plugin) {
             if ($dropDatabase) {
                 try {
@@ -215,7 +215,7 @@ abstract class IntegrationTestCase extends PHPUnit_Framework_TestCase
                 }
             }
         }
-        Piwik_PluginsManager::getInstance()->unloadPlugins();*/
+        PluginsManager::getInstance()->unloadPlugins();*/
         if ($dropDatabase) {
             Piwik::dropDatabase();
         }
diff --git a/tests/PHPUnit/Plugins/MobileMessagingTest.php b/tests/PHPUnit/Plugins/MobileMessagingTest.php
index 7460f51cbe8cf0d49270ce3468e3e742ec1de4f8..75c3b8599817661d59093fd705220e9e001913d8 100644
--- a/tests/PHPUnit/Plugins/MobileMessagingTest.php
+++ b/tests/PHPUnit/Plugins/MobileMessagingTest.php
@@ -24,8 +24,8 @@ class MobileMessagingTest extends DatabaseTestCase
 
         $this->idSiteAccess = Piwik_SitesManager_API::getInstance()->addSite("test", "http://test");
 
-        Piwik_PluginsManager::getInstance()->loadPlugins(array('PDFReports', 'MobileMessaging', 'MultiSites'));
-        Piwik_PluginsManager::getInstance()->installLoadedPlugins();
+        PluginsManager::getInstance()->loadPlugins(array('PDFReports', 'MobileMessaging', 'MultiSites'));
+        PluginsManager::getInstance()->installLoadedPlugins();
     }
 
 
@@ -38,8 +38,8 @@ class MobileMessagingTest extends DatabaseTestCase
     public function testWarnUserViaSMSMultiSitesDeactivated()
     {
         // safety net
-        Piwik_PluginsManager::getInstance()->loadPlugins(array('PDFReports', 'MobileMessaging'));
-        $this->assertFalse(Piwik_PluginsManager::getInstance()->isPluginActivated('MultiSites'));
+        PluginsManager::getInstance()->loadPlugins(array('PDFReports', 'MobileMessaging'));
+        $this->assertFalse(PluginsManager::getInstance()->isPluginActivated('MultiSites'));
 
         $PdfReportsAPIInstance = Piwik_PDFReports_API::getInstance();
         $reportId = $PdfReportsAPIInstance->addReport(
diff --git a/tests/PHPUnit/Plugins/MultiSitesTest.php b/tests/PHPUnit/Plugins/MultiSitesTest.php
index c1765dd08b14054901033eeba1a122f82f0b8c6b..fffe204f6d1005b6650e2892f0e5992eeeeae288 100644
--- a/tests/PHPUnit/Plugins/MultiSitesTest.php
+++ b/tests/PHPUnit/Plugins/MultiSitesTest.php
@@ -21,8 +21,8 @@ class MultiSitesTest extends DatabaseTestCase
 
         $this->idSiteAccess = Piwik_SitesManager_API::getInstance()->addSite("test", "http://test");
 
-        Piwik_PluginsManager::getInstance()->loadPlugins(array('MultiSites', 'VisitsSummary', 'Actions'));
-        Piwik_PluginsManager::getInstance()->installLoadedPlugins();
+        PluginsManager::getInstance()->loadPlugins(array('MultiSites', 'VisitsSummary', 'Actions'));
+        PluginsManager::getInstance()->installLoadedPlugins();
     }
 
 
diff --git a/tests/PHPUnit/Plugins/PDFReportsTest.php b/tests/PHPUnit/Plugins/PDFReportsTest.php
index fcee8804037ea5670e2569e5ba633314b8aa0c00..e2bf0d72a66d64eb98bbd35cdf2fc937582883f6 100644
--- a/tests/PHPUnit/Plugins/PDFReportsTest.php
+++ b/tests/PHPUnit/Plugins/PDFReportsTest.php
@@ -20,8 +20,8 @@ class PDFReportsTest extends DatabaseTestCase
 
         // setup the access layer
         self::setSuperUser();
-        Piwik_PluginsManager::getInstance()->loadPlugins(array('API', 'UserCountry', 'PDFReports', 'MobileMessaging'));
-        Piwik_PluginsManager::getInstance()->installLoadedPlugins();
+        PluginsManager::getInstance()->loadPlugins(array('API', 'UserCountry', 'PDFReports', 'MobileMessaging'));
+        PluginsManager::getInstance()->installLoadedPlugins();
 
         Piwik_SitesManager_API::getInstance()->addSite("Test", array("http://piwik.net"));
 
@@ -194,7 +194,7 @@ class PDFReportsTest extends DatabaseTestCase
     public function testGetTopMenuTranslationKeyMobileMessagingInactive()
     {
         // unload MobileMessaging plugin
-        Piwik_PluginsManager::getInstance()->loadPlugins(array('PDFReports'));
+        PluginsManager::getInstance()->loadPlugins(array('PDFReports'));
 
         $pdfReportPlugin = new Piwik_PDFReports();
         $this->assertEquals(
diff --git a/tests/PHPUnit/Plugins/SegmentEditorTest.php b/tests/PHPUnit/Plugins/SegmentEditorTest.php
index 115ff2d05749ecbc4539452232c5a150c9433b04..f379f5b0962686fa60ee766366a22bcb2c2d34f2 100644
--- a/tests/PHPUnit/Plugins/SegmentEditorTest.php
+++ b/tests/PHPUnit/Plugins/SegmentEditorTest.php
@@ -14,8 +14,8 @@ class SegmentEditorTest extends DatabaseTestCase
     {
         parent::setUp();
 
-        Piwik_PluginsManager::getInstance()->loadPlugin('SegmentEditor');
-        Piwik_PluginsManager::getInstance()->installLoadedPlugins();
+        PluginsManager::getInstance()->loadPlugin('SegmentEditor');
+        PluginsManager::getInstance()->installLoadedPlugins();
 
         // setup the access layer
         $pseudoMockAccess = new FakeAccess;
diff --git a/tests/PHPUnit/Plugins/UsersManagerTest.php b/tests/PHPUnit/Plugins/UsersManagerTest.php
index 9144c670376c0127c8b853ab4a3cf1bf9bb54683..ce0423d463e40a4592f959ea0d7dfe3770fd4bc6 100644
--- a/tests/PHPUnit/Plugins/UsersManagerTest.php
+++ b/tests/PHPUnit/Plugins/UsersManagerTest.php
@@ -14,8 +14,8 @@ class UsersManagerTest extends DatabaseTestCase
     {
         parent::setUp();
 
-        Piwik_PluginsManager::getInstance()->loadPlugin('UsersManager');
-        Piwik_PluginsManager::getInstance()->installLoadedPlugins();
+        PluginsManager::getInstance()->loadPlugin('UsersManager');
+        PluginsManager::getInstance()->installLoadedPlugins();
 
         // setup the access layer
         $pseudoMockAccess = new FakeAccess;