diff --git a/examples/test_workflow.json b/examples/test_workflow.json
index 1bbd3661e3c989d1f278022b08b73b7c639b0c41..f0fa936ec307ee749bef6b3e85bb4bdc05303f4e 100644
--- a/examples/test_workflow.json
+++ b/examples/test_workflow.json
@@ -2,7 +2,7 @@
     "multi_criteria_optimization": {
         "name": "basic"
     },
-    "key_performance_indicators": [
+    "data_sources": [
         "viscosity", "price"
     ]
 }
diff --git a/force_bdss/cli/force_bdss.py b/force_bdss/cli/force_bdss.py
index 37541e66f1d1132406392ab73c66da41d0779870..79a792030b580e77cfdf12d01946fe78908bd678 100644
--- a/force_bdss/cli/force_bdss.py
+++ b/force_bdss/cli/force_bdss.py
@@ -3,8 +3,8 @@ from envisage.core_plugin import CorePlugin
 
 from force_bdss.bdss_application import BDSSApplication
 from force_bdss.core_mco_driver import CoreMCODriver
-from force_bdss.kpi.key_performance_calculators_plugin import \
-    KeyPerformanceCalculatorsPlugin
+from force_bdss.data_sources.data_sources_plugin import \
+    DataSourcesPlugin
 from force_bdss.mco.multi_criteria_optimizers_plugin import \
     MultiCriteriaOptimizersPlugin
 
@@ -17,7 +17,7 @@ def run(evaluate, workflow_filepath):
     plugins = [
         CorePlugin(),
         CoreMCODriver(),
-        KeyPerformanceCalculatorsPlugin(),
+        DataSourcesPlugin(),
         MultiCriteriaOptimizersPlugin(),
     ]
 
diff --git a/force_bdss/core_mco_driver.py b/force_bdss/core_mco_driver.py
index a0409df1f556745814ce739d2a7c8d1c1d0307c7..6bd610e7645c4454819c7d88e63a51273b3c550c 100644
--- a/force_bdss/core_mco_driver.py
+++ b/force_bdss/core_mco_driver.py
@@ -3,8 +3,8 @@ from envisage.plugin import Plugin
 from traits.has_traits import on_trait_change
 from traits.trait_types import List
 
-from force_bdss.kpi.i_key_performance_calculator import (
-    IKeyPerformanceCalculator)
+from force_bdss.data_sources.i_data_source import (
+    IDataSource)
 from force_bdss.mco.i_multi_criteria_optimizers import IMultiCriteriaOptimizer
 
 
@@ -26,21 +26,21 @@ class CoreMCODriver(Plugin):
 
     #: A list of the available Key Performance Indicator calculators.
     #: It will be populated by plugins.
-    key_performance_calculators = ExtensionPoint(
-        List(IKeyPerformanceCalculator),
-        id='force_bdss.key_performance_calculators')
+    data_sources = ExtensionPoint(
+        List(IDataSource),
+        id='force_bdss.data_sources')
 
     @on_trait_change("application:started")
     def application_started(self):
         workflow = self.application.workflow
         if self.application.evaluate:
-            for kpi in workflow.key_performance_indicators:
-                kpc = self._find_kpc_by_computes(kpi)
-                if kpc:
-                    kpc.run(self.application)
+            for requested_ds in workflow.data_sources:
+                data_source = self._find_data_source_by_computes(requested_ds)
+                if data_source:
+                    data_source.run(self.application)
                 else:
-                    raise Exception("Requested KPI {} but don't know how"
-                                    "to compute it.".format(kpi))
+                    raise Exception("Requested sata source {} but don't know "
+                                    "to find it.".format(requested_ds))
         else:
             mco_name = workflow.multi_criteria_optimization.name
             mco = self._find_mco_by_name(mco_name)
@@ -50,10 +50,10 @@ class CoreMCODriver(Plugin):
                 raise Exception("Requested MCO {} but it's not available"
                                 "to compute it.".format(mco_name))
 
-    def _find_kpc_by_computes(self, computes):
-        for kpc in self.key_performance_calculators:
-            if kpc.computes == computes:
-                return kpc
+    def _find_data_source_by_computes(self, computes):
+        for ds in self.data_sources:
+            if ds.computes == computes:
+                return ds
 
         return None
 
diff --git a/force_bdss/kpi/__init__.py b/force_bdss/data_sources/__init__.py
similarity index 100%
rename from force_bdss/kpi/__init__.py
rename to force_bdss/data_sources/__init__.py
diff --git a/force_bdss/kpi/basic.py b/force_bdss/data_sources/basic.py
similarity index 64%
rename from force_bdss/kpi/basic.py
rename to force_bdss/data_sources/basic.py
index 4e0d021a3f10030fed5748ef11a1c8013149a158..5fe2f3cee8737ca51c38c2e2653b7219464237a9 100644
--- a/force_bdss/kpi/basic.py
+++ b/force_bdss/data_sources/basic.py
@@ -1,10 +1,10 @@
 from traits.api import provides, HasStrictTraits, String
 
-from force_bdss.kpi.i_key_performance_calculator import (
-    IKeyPerformanceCalculator)
+from force_bdss.data_sources.i_data_source import (
+    IDataSource)
 
 
-@provides(IKeyPerformanceCalculator)
+@provides(IDataSource)
 class Basic(HasStrictTraits):
     computes = String("basic")
 
diff --git a/force_bdss/data_sources/data_sources_plugin.py b/force_bdss/data_sources/data_sources_plugin.py
new file mode 100644
index 0000000000000000000000000000000000000000..2bd94d88418648f6dbb36eef508bd6b48da07e7a
--- /dev/null
+++ b/force_bdss/data_sources/data_sources_plugin.py
@@ -0,0 +1,22 @@
+from envisage.plugin import Plugin
+from traits.api import List
+
+from force_bdss.data_sources.i_data_source import (
+    IDataSource)
+
+from force_bdss.data_sources.basic import Basic
+from force_bdss.data_sources.price import Price
+from force_bdss.data_sources.viscosity import Viscosity
+
+
+class DataSourcesPlugin(Plugin):
+
+    id = "force_bdss.data_sources_plugin"
+
+    data_sources = List(
+        IDataSource,
+        contributes_to='force_bdss.data_sources'
+    )
+
+    def _data_sources_default(self):
+        return [Basic(), Viscosity(), Price()]
diff --git a/force_bdss/kpi/i_key_performance_calculator.py b/force_bdss/data_sources/i_data_source.py
similarity index 69%
rename from force_bdss/kpi/i_key_performance_calculator.py
rename to force_bdss/data_sources/i_data_source.py
index 56b7205c466180837c4ad7b80a89393fc8f2cdb0..e86f0c76a5587585322312b0ec6df4246e224f6a 100644
--- a/force_bdss/kpi/i_key_performance_calculator.py
+++ b/force_bdss/data_sources/i_data_source.py
@@ -1,7 +1,7 @@
 from traits.api import Interface, String
 
 
-class IKeyPerformanceCalculator(Interface):
+class IDataSource(Interface):
     computes = String()
 
     def run(self):
diff --git a/force_bdss/kpi/price.py b/force_bdss/data_sources/price.py
similarity index 59%
rename from force_bdss/kpi/price.py
rename to force_bdss/data_sources/price.py
index 79112547824c97c0eb08954c26feddb13fccd5ea..30fbaf78418fa5dfecf721f0714c572a1fcd1faa 100644
--- a/force_bdss/kpi/price.py
+++ b/force_bdss/data_sources/price.py
@@ -1,10 +1,10 @@
 from traits.api import provides, HasStrictTraits, String
 
-from force_bdss.kpi.i_key_performance_calculator import (
-    IKeyPerformanceCalculator)
+from force_bdss.data_sources.i_data_source import (
+    IDataSource)
 
 
-@provides(IKeyPerformanceCalculator)
+@provides(IDataSource)
 class Price(HasStrictTraits):
     computes = String("price")
 
diff --git a/force_bdss/kpi/viscosity.py b/force_bdss/data_sources/viscosity.py
similarity index 60%
rename from force_bdss/kpi/viscosity.py
rename to force_bdss/data_sources/viscosity.py
index d8c3f3eac9214211903a6746b5a7884aa489ff54..1c207f438268f1db67d29fe16602be7998040611 100644
--- a/force_bdss/kpi/viscosity.py
+++ b/force_bdss/data_sources/viscosity.py
@@ -1,10 +1,10 @@
 from traits.api import provides, HasStrictTraits, String
 
-from force_bdss.kpi.i_key_performance_calculator import (
-    IKeyPerformanceCalculator)
+from force_bdss.data_sources.i_data_source import (
+    IDataSource)
 
 
-@provides(IKeyPerformanceCalculator)
+@provides(IDataSource)
 class Viscosity(HasStrictTraits):
     computes = String("viscosity")
 
diff --git a/force_bdss/kpi/key_performance_calculators_plugin.py b/force_bdss/kpi/key_performance_calculators_plugin.py
deleted file mode 100644
index 3a646d36d129d29cee7fbf3c7f403a844a4f4818..0000000000000000000000000000000000000000
--- a/force_bdss/kpi/key_performance_calculators_plugin.py
+++ /dev/null
@@ -1,22 +0,0 @@
-from envisage.plugin import Plugin
-from traits.api import List
-
-from force_bdss.kpi.i_key_performance_calculator import (
-    IKeyPerformanceCalculator)
-
-from force_bdss.kpi.basic import Basic
-from force_bdss.kpi.price import Price
-from force_bdss.kpi.viscosity import Viscosity
-
-
-class KeyPerformanceCalculatorsPlugin(Plugin):
-
-    id = "force_bdss.key_performance_calculators_plugin"
-
-    key_performance_calculators = List(
-        IKeyPerformanceCalculator,
-        contributes_to='force_bdss.key_performance_calculators'
-    )
-
-    def _key_performance_calculators_default(self):
-        return [Basic(), Viscosity(), Price()]
diff --git a/force_bdss/mco/i_multi_criteria_optimizers.py b/force_bdss/mco/i_multi_criteria_optimizers.py
index 93c6b25dca4f73afc08caa0d348c59b9a2e195eb..9bb929a67f1d9b3e429b80dc8727f5cb2a4b3df5 100644
--- a/force_bdss/mco/i_multi_criteria_optimizers.py
+++ b/force_bdss/mco/i_multi_criteria_optimizers.py
@@ -1,4 +1,4 @@
-from traits.api import Interface, String
+from traits.api import Interface, String, Instance
 
 
 class IMultiCriteriaOptimizer(Interface):
diff --git a/force_bdss/workspecs/workflow.py b/force_bdss/workspecs/workflow.py
index 934c7781d36daf2c80d3f680f1616573223b9c3e..871e9b7d1acab73292e017903a632d3d174cfb2f 100644
--- a/force_bdss/workspecs/workflow.py
+++ b/force_bdss/workspecs/workflow.py
@@ -6,7 +6,7 @@ from .multi_criteria_optimization import MultiCriteriaOptimization
 class Workflow(HasStrictTraits):
     name = String()
     multi_criteria_optimization = Instance(MultiCriteriaOptimization)
-    key_performance_indicators = List(String)
+    data_sources = List(String)
 
     @classmethod
     def from_json(cls, json_data):
@@ -14,7 +14,7 @@ class Workflow(HasStrictTraits):
             multi_criteria_optimization=MultiCriteriaOptimization.from_json(
                     json_data["multi_criteria_optimization"]
             ),
-            key_performance_indicators=json_data["key_performance_indicators"]
+            data_sources=json_data["data_sources"]
             )
 
         return self