diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/Neuron.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/Neuron.scala
index 5c6924f50aa03f545f56e5961f022da116d41104..9598e625d0b04fdccc5fcf1b416ccaa05501d414 100644
--- a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/Neuron.scala
+++ b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/Neuron.scala
@@ -9,9 +9,8 @@ import fr.univ_lille.cristal.emeraude.n2s3.core.NetworkEntity.AskReference
 import fr.univ_lille.cristal.emeraude.n2s3.core.NeuronConnection.ConnectionEnds
 import fr.univ_lille.cristal.emeraude.n2s3.core.Synchronizer.{Done, SynchronizedMessage}
 import fr.univ_lille.cristal.emeraude.n2s3.core.actors.WrapMessage
-import fr.univ_lille.cristal.emeraude.n2s3.core.event.NeuronFireEvent
 import fr.univ_lille.cristal.emeraude.n2s3.support.actors.Message
-import fr.univ_lille.cristal.emeraude.n2s3.support.event.{Observable, ObservableMessage}
+import fr.univ_lille.cristal.emeraude.n2s3.support.event.{Event, EventResponse, Observable, ObservableMessage}
 
 import scala.collection.mutable
 import scala.language.postfixOps
@@ -162,6 +161,13 @@ object Neuron {
         throw new RuntimeException("can't send message with past timestamp")
     }
   }
+
+ /********************************************************************************************************************
+  * Events
+  ******************************************************************************************************************/
+
+ object NeuronFireEvent extends Event[NeuronFireResponse]
+  case class NeuronFireResponse(timestamp : Timestamp, source : NetworkEntityPath) extends EventResponse
 }
 
 trait NeuronModel {
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/InputNeuron.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/InputNeuron.scala
index cf99b47c9d7e5d5e760a86e85df15b1c0e2f568c..30b78a06f83073f794bffc569d42f01076beb04e 100644
--- a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/InputNeuron.scala
+++ b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/InputNeuron.scala
@@ -1,9 +1,8 @@
 package fr.univ_lille.cristal.emeraude.n2s3.core.actors
 
 import fr.univ_lille.cristal.emeraude.n2s3.core.GlobalTypesAlias._
-import fr.univ_lille.cristal.emeraude.n2s3.core.Neuron.NeuronEnds
-import fr.univ_lille.cristal.emeraude.n2s3.core.event.{NeuronFireEvent, NeuronFireResponse}
 import fr.univ_lille.cristal.emeraude.n2s3.core.Neuron
+import fr.univ_lille.cristal.emeraude.n2s3.core.Neuron.{NeuronEnds, NeuronFireEvent, NeuronFireResponse}
 import fr.univ_lille.cristal.emeraude.n2s3.core.models.properties.SynapticWeightFloat
 import fr.univ_lille.cristal.emeraude.n2s3.support.actors.Message
 
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/NeuronFireEvent.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/NeuronFireEvent.scala
deleted file mode 100644
index 40d4c5fda9235de65aa2df446464501f1b50b8db..0000000000000000000000000000000000000000
--- a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/NeuronFireEvent.scala
+++ /dev/null
@@ -1,8 +0,0 @@
-package fr.univ_lille.cristal.emeraude.n2s3.core.event
-
-import fr.univ_lille.cristal.emeraude.n2s3.support.event.Event
-
-/**
-  * Created by guille on 10/14/16.
-  */
-object NeuronFireEvent extends Event[NeuronFireResponse]
\ No newline at end of file
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/NeuronFireResponse.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/NeuronFireResponse.scala
deleted file mode 100644
index e66d9b50e155577a33516cbca2c32b21f0a8cc29..0000000000000000000000000000000000000000
--- a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/NeuronFireResponse.scala
+++ /dev/null
@@ -1,11 +0,0 @@
-package fr.univ_lille.cristal.emeraude.n2s3.core.event
-
-import fr.univ_lille.cristal.emeraude.n2s3.core.GlobalTypesAlias._
-import fr.univ_lille.cristal.emeraude.n2s3.core.NetworkEntityPath
-import fr.univ_lille.cristal.emeraude.n2s3.support.event.EventResponse
-
-/********************************************************************************************************
- *  Event triggered when a neuron fire
- *******************************************************************************************************/
-
-case class NeuronFireResponse(timestamp : Timestamp, source : NetworkEntityPath) extends EventResponse
\ No newline at end of file
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/NeuronUpdateEvent.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/NeuronUpdateEvent.scala
deleted file mode 100644
index 06439a3499414fe1b63ebfe537cbc4c5b0d72d79..0000000000000000000000000000000000000000
--- a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/NeuronUpdateEvent.scala
+++ /dev/null
@@ -1,8 +0,0 @@
-package fr.univ_lille.cristal.emeraude.n2s3.core.event
-
-import fr.univ_lille.cristal.emeraude.n2s3.support.event.{Event, EventTriggered}
-
-/***************************************************************************************************
- *  Event triggered when update arise in neuron
- **************************************************************************************************/
-abstract class NeuronUpdateEvent extends Event[EventTriggered.type]
\ No newline at end of file
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/SynapseUpdateEvent.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/SynapseUpdateEvent.scala
deleted file mode 100644
index 4b4a3236f166904da7d1db6888247925d8df428f..0000000000000000000000000000000000000000
--- a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/SynapseUpdateEvent.scala
+++ /dev/null
@@ -1,8 +0,0 @@
-package fr.univ_lille.cristal.emeraude.n2s3.core.event
-
-import fr.univ_lille.cristal.emeraude.n2s3.support.event.{Event, EventTriggered}
-
-/***************************************************************************************************
- * Event triggered when update arise in synapse
- **************************************************************************************************/
-abstract class SynapseUpdateEvent(val connectionId : Int) extends Event[EventTriggered.type]
\ No newline at end of file
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/report/BenchmarkMonitor.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/report/BenchmarkMonitor.scala
index b035870d3592b3483ed724cd1a0a172a035b1316..a370d94d9bf46059c9c8a9386370c5978800a049 100644
--- a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/report/BenchmarkMonitor.scala
+++ b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/report/BenchmarkMonitor.scala
@@ -8,9 +8,9 @@ import java.io.{File, PrintWriter}
 
 import akka.actor.Actor
 import fr.univ_lille.cristal.emeraude.n2s3.core.GlobalTypesAlias._
+import fr.univ_lille.cristal.emeraude.n2s3.core.Neuron.{NeuronFireEvent, NeuronFireResponse}
 import fr.univ_lille.cristal.emeraude.n2s3.core.Synchronizer.Done
 import fr.univ_lille.cristal.emeraude.n2s3.core._
-import fr.univ_lille.cristal.emeraude.n2s3.core.event._
 import fr.univ_lille.cristal.emeraude.n2s3.support.actors.Message
 import fr.univ_lille.cristal.emeraude.n2s3.support.event.{Subscribe, Unsubscribe}
 
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/learning/SpikeCounter.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/learning/SpikeCounter.scala
index b6038040a73eca6461609f34ca2acb9c86c25cb2..ec729531cf24bad11f0e615481851525c901e78a 100644
--- a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/learning/SpikeCounter.scala
+++ b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/learning/SpikeCounter.scala
@@ -1,9 +1,9 @@
 package fr.univ_lille.cristal.emeraude.n2s3.features.learning
 
 import akka.actor.Actor
+import fr.univ_lille.cristal.emeraude.n2s3.core.Neuron.{NeuronFireEvent, NeuronFireResponse}
 import fr.univ_lille.cristal.emeraude.n2s3.core._
 import fr.univ_lille.cristal.emeraude.n2s3.core.actors.WrapMessage
-import fr.univ_lille.cristal.emeraude.n2s3.core.event.{NeuronFireEvent, NeuronFireResponse}
 import fr.univ_lille.cristal.emeraude.n2s3.support.actors.Message
 import fr.univ_lille.cristal.emeraude.n2s3.support.event.Subscribe
 
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/NeuronLog.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/NeuronLog.scala
index 3f9436d69d42d23f017c52c8e12215e7444aebe9..403db2a126c8172e8ad7d0fd8b6f21e5c395658f 100644
--- a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/NeuronLog.scala
+++ b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/NeuronLog.scala
@@ -6,10 +6,10 @@ import java.nio.file.Paths
 import akka.actor.Actor
 import akka.util.Timeout
 import fr.univ_lille.cristal.emeraude.n2s3.core.GlobalTypesAlias.Timestamp
+import fr.univ_lille.cristal.emeraude.n2s3.core.Neuron.{NeuronFireEvent, NeuronFireResponse}
 import fr.univ_lille.cristal.emeraude.n2s3.core.Synchronizer.Done
 import fr.univ_lille.cristal.emeraude.n2s3.core.UnitTime._
 import fr.univ_lille.cristal.emeraude.n2s3.core._
-import fr.univ_lille.cristal.emeraude.n2s3.core.event.{NeuronFireEvent, NeuronFireResponse}
 import fr.univ_lille.cristal.emeraude.n2s3.features.logging.graph.{InputOutputGraph, NeuronsGraph, ValuesGraph}
 import fr.univ_lille.cristal.emeraude.n2s3.models.qbg.NeuronPotentialResponse
 import fr.univ_lille.cristal.emeraude.n2s3.support.actors.{ActorCompanion, PropsBuilder, SinglePropsBuilder}
@@ -124,13 +124,12 @@ class NeuronsPotentialsLogGraph(step: Int = 50, unit: TimeUnitType = MilliSecond
   val graph = new ValuesGraph
   var lastT = 0L
   def receive = {
-    case NeuronPotentialResponse(timestamp, source, value) => {
+    case NeuronPotentialResponse(timestamp, source, value) =>
       if (timestamp - lastT > step) {
         graph.refreshSerie(source.path.name, convert(unit, Time(timestamp)), value)
         if (!(graph isRunning()))
           graph.launch()
         lastT = timestamp
       }
-    }
   }
 }
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/SpikeMonitor.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/SpikeMonitor.scala
index 86bf8156d4036da9bd6fb0cd4d8b49ecacfb0137..5c0a1f4d07feefa73912d889001455789ff1defe 100644
--- a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/SpikeMonitor.scala
+++ b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/SpikeMonitor.scala
@@ -3,10 +3,10 @@ package fr.univ_lille.cristal.emeraude.n2s3.features.logging
 import akka.actor.{Actor, Props}
 import akka.pattern.ask
 import fr.univ_lille.cristal.emeraude.n2s3.core.GlobalTypesAlias.Timestamp
+import fr.univ_lille.cristal.emeraude.n2s3.core.Neuron.{NeuronFireEvent, NeuronFireResponse}
 import fr.univ_lille.cristal.emeraude.n2s3.core.Synchronizer.Done
 import fr.univ_lille.cristal.emeraude.n2s3.core._
 import fr.univ_lille.cristal.emeraude.n2s3.core.actors.Config
-import fr.univ_lille.cristal.emeraude.n2s3.core.event.{NeuronFireEvent, NeuronFireResponse}
 import fr.univ_lille.cristal.emeraude.n2s3.features.builder.N2S3
 import fr.univ_lille.cristal.emeraude.n2s3.support.actors.LocalActorDeploymentStrategy
 import fr.univ_lille.cristal.emeraude.n2s3.support.event.Subscribe
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/bio/LIFNeuron.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/bio/LIFNeuron.scala
index be41636330e8931ad0bd650ea1732be0ab812b30..0a5901eea0e8787a58398b2934f036e9a79d7124 100644
--- a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/bio/LIFNeuron.scala
+++ b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/bio/LIFNeuron.scala
@@ -2,18 +2,16 @@ package fr.univ_lille.cristal.emeraude.n2s3.models.bio
 
 import fr.univ_lille.cristal.emeraude.n2s3.core
 import fr.univ_lille.cristal.emeraude.n2s3.core.GlobalTypesAlias._
-import fr.univ_lille.cristal.emeraude.n2s3.core.Neuron.{Inhibition, NeuronEnds}
-import fr.univ_lille.cristal.emeraude.n2s3.core._
+import fr.univ_lille.cristal.emeraude.n2s3.core.Neuron.{Inhibition, NeuronEnds, NeuronFireEvent, NeuronFireResponse}
 import fr.univ_lille.cristal.emeraude.n2s3.core.UnitCast._
+import fr.univ_lille.cristal.emeraude.n2s3.core._
 import fr.univ_lille.cristal.emeraude.n2s3.core.actors.{ShapelessSpike, WeightedSpike}
-import fr.univ_lille.cristal.emeraude.n2s3.core.event.{NeuronFireEvent, NeuronFireResponse}
 import fr.univ_lille.cristal.emeraude.n2s3.core.models.properties._
 import fr.univ_lille.cristal.emeraude.n2s3.core.models.synapse.FloatSynapse
 import fr.univ_lille.cristal.emeraude.n2s3.features.learning.{LTDUntil, LTPUntil}
 import fr.univ_lille.cristal.emeraude.n2s3.models.qbg._
 import fr.univ_lille.cristal.emeraude.n2s3.support.actors.Message
 
-import scala.collection.mutable
 import scala.math._
 
 /**
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/bio/SRM2Neuron.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/bio/SRM2Neuron.scala
index 213672bb4a908f303aa5f6ddc684e5e9b06068dd..83e983e628fd0379f7db8d9e44539d62b8b38c19 100644
--- a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/bio/SRM2Neuron.scala
+++ b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/bio/SRM2Neuron.scala
@@ -2,11 +2,10 @@ package fr.univ_lille.cristal.emeraude.n2s3.models.bio
 
 import fr.univ_lille.cristal.emeraude.n2s3.core
 import fr.univ_lille.cristal.emeraude.n2s3.core.GlobalTypesAlias.Timestamp
-import fr.univ_lille.cristal.emeraude.n2s3.core.Neuron.{NeuronEnds, NeuronMessage}
+import fr.univ_lille.cristal.emeraude.n2s3.core.Neuron.{NeuronEnds, NeuronFireEvent, NeuronFireResponse, NeuronMessage}
+import fr.univ_lille.cristal.emeraude.n2s3.core.UnitCast._
 import fr.univ_lille.cristal.emeraude.n2s3.core._
 import fr.univ_lille.cristal.emeraude.n2s3.core.actors.{ShapelessSpike, WeightedSpike}
-import fr.univ_lille.cristal.emeraude.n2s3.core.UnitCast._
-import fr.univ_lille.cristal.emeraude.n2s3.core.event.{NeuronFireEvent, NeuronFireResponse}
 import fr.univ_lille.cristal.emeraude.n2s3.core.models.properties.{MembraneThresholdFloat, SynapticWeightFloat}
 import fr.univ_lille.cristal.emeraude.n2s3.core.models.synapse.FloatSynapse
 import fr.univ_lille.cristal.emeraude.n2s3.support.actors.Message
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/bio/SRMNeuron.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/bio/SRMNeuron.scala
index 395ddcf9703ed33282b4e1033ebd13080ac1dc42..cba997907525b1f742d69a5e2f59856d98f32978 100644
--- a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/bio/SRMNeuron.scala
+++ b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/bio/SRMNeuron.scala
@@ -2,11 +2,10 @@ package fr.univ_lille.cristal.emeraude.n2s3.models.bio
 
 import fr.univ_lille.cristal.emeraude.n2s3.core
 import fr.univ_lille.cristal.emeraude.n2s3.core.GlobalTypesAlias._
-import fr.univ_lille.cristal.emeraude.n2s3.core.Neuron.{Inhibition, NeuronEnds}
-import fr.univ_lille.cristal.emeraude.n2s3.core._
+import fr.univ_lille.cristal.emeraude.n2s3.core.Neuron.{Inhibition, NeuronEnds, NeuronFireEvent, NeuronFireResponse}
 import fr.univ_lille.cristal.emeraude.n2s3.core.UnitCast._
+import fr.univ_lille.cristal.emeraude.n2s3.core._
 import fr.univ_lille.cristal.emeraude.n2s3.core.actors.{ShapelessSpike, WeightedSpike}
-import fr.univ_lille.cristal.emeraude.n2s3.core.event.{NeuronFireEvent, NeuronFireResponse}
 import fr.univ_lille.cristal.emeraude.n2s3.core.models.properties.{MembraneThresholdFloat, MembraneThresholdType, MembraneThresholdTypeEnum, SynapticWeightFloat}
 import fr.univ_lille.cristal.emeraude.n2s3.core.models.synapse.FloatSynapse
 import fr.univ_lille.cristal.emeraude.n2s3.models.qbg._
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/integrate_and_fire/IntegrateAndFireNeuron.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/integrate_and_fire/IntegrateAndFireNeuron.scala
index dc66342cc5a9b9f333c3e82557a336e9de6dcf82..49836d21130f314dc0b38b576b8c51bdeedb19b2 100644
--- a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/integrate_and_fire/IntegrateAndFireNeuron.scala
+++ b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/integrate_and_fire/IntegrateAndFireNeuron.scala
@@ -1,9 +1,8 @@
 package fr.univ_lille.cristal.emeraude.n2s3.models.integrate_and_fire
 
 import fr.univ_lille.cristal.emeraude.n2s3.core.GlobalTypesAlias._
-import fr.univ_lille.cristal.emeraude.n2s3.core.Neuron.NeuronEnds
+import fr.univ_lille.cristal.emeraude.n2s3.core.Neuron.{NeuronEnds, NeuronFireEvent, NeuronFireResponse}
 import fr.univ_lille.cristal.emeraude.n2s3.core._
-import fr.univ_lille.cristal.emeraude.n2s3.core.event.{NeuronFireEvent, NeuronFireResponse}
 import fr.univ_lille.cristal.emeraude.n2s3.support.actors.Message
 
 /**
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/izhikevich/Neuron.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/izhikevich/Neuron.scala
index a99ff9ca50988c834b25758e543a0c7ff3642a5b..b0f6a40b7c041b694ca197fa3d74f15d8fe46ebe 100644
--- a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/izhikevich/Neuron.scala
+++ b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/izhikevich/Neuron.scala
@@ -6,10 +6,9 @@ package fr.univ_lille.cristal.emeraude.n2s3.models.izhikevich
 
 import fr.univ_lille.cristal.emeraude.n2s3.core
 import fr.univ_lille.cristal.emeraude.n2s3.core.GlobalTypesAlias.Timestamp
-import fr.univ_lille.cristal.emeraude.n2s3.core.Neuron.{Inhibition, NeuronEnds}
+import fr.univ_lille.cristal.emeraude.n2s3.core.Neuron.{Inhibition, NeuronEnds, NeuronFireEvent, NeuronFireResponse}
 import fr.univ_lille.cristal.emeraude.n2s3.core._
 import fr.univ_lille.cristal.emeraude.n2s3.core.actors.{ShapelessSpike, WeightedSpike}
-import fr.univ_lille.cristal.emeraude.n2s3.core.event.{NeuronFireEvent, NeuronFireResponse}
 import fr.univ_lille.cristal.emeraude.n2s3.core.models.properties.SynapticWeightFloat
 import fr.univ_lille.cristal.emeraude.n2s3.core.models.synapse.FloatSynapse
 import fr.univ_lille.cristal.emeraude.n2s3.models.qbg.{BackwardSpike, QBGNeuronConnection}
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/qbg/QBGNeuron.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/qbg/QBGNeuron.scala
index fb936a7470bcdcc9ffbda528152b1b5fc8777ac0..a3d08fe8a987631a2d66187f1d93abbbe91223de 100644
--- a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/qbg/QBGNeuron.scala
+++ b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/qbg/QBGNeuron.scala
@@ -5,11 +5,10 @@
 package fr.univ_lille.cristal.emeraude.n2s3.models.qbg
 
 import fr.univ_lille.cristal.emeraude.n2s3.core.GlobalTypesAlias._
-import fr.univ_lille.cristal.emeraude.n2s3.core.Neuron.{Inhibition, NeuronEnds}
+import fr.univ_lille.cristal.emeraude.n2s3.core.Neuron.{Inhibition, NeuronEnds, NeuronFireEvent, NeuronFireResponse}
 import fr.univ_lille.cristal.emeraude.n2s3.core.UnitCast._
 import fr.univ_lille.cristal.emeraude.n2s3.core._
 import fr.univ_lille.cristal.emeraude.n2s3.core.actors.{NetworkEntityActor, ShapelessSpike, WeightedSpike}
-import fr.univ_lille.cristal.emeraude.n2s3.core.event.{NeuronFireEvent, NeuronFireResponse}
 import fr.univ_lille.cristal.emeraude.n2s3.core.models.properties.{MembraneThresholdTypeEnum, _}
 import fr.univ_lille.cristal.emeraude.n2s3.core.models.synapse.FloatSynapse
 import fr.univ_lille.cristal.emeraude.n2s3.support.actors.Message
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/ternary_synapse/Neuron.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/ternary_synapse/Neuron.scala
index c8cf295538d7bd444ce60e954e8842a7af4e3d81..4ca147c80d8541265409bcdd6393173fe7cf51b2 100644
--- a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/ternary_synapse/Neuron.scala
+++ b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/ternary_synapse/Neuron.scala
@@ -6,27 +6,17 @@ package fr.univ_lille.cristal.emeraude.n2s3.models.ternary_synapse
 
 import fr.univ_lille.cristal.emeraude.n2s3.core
 import fr.univ_lille.cristal.emeraude.n2s3.core.GlobalTypesAlias._
-import fr.univ_lille.cristal.emeraude.n2s3.core._
-import fr.univ_lille.cristal.emeraude.n2s3.core.Neuron.Inhibition
-import fr.univ_lille.cristal.emeraude.n2s3.core.Neuron.NeuronEnds
-import fr.univ_lille.cristal.emeraude.n2s3.core.Neuron.{Inhibition, NeuronEnds}
-import fr.univ_lille.cristal.emeraude.n2s3.core.NeuronConnection.ConnectionEnds
+import fr.univ_lille.cristal.emeraude.n2s3.core.Neuron.{Inhibition, NeuronEnds, NeuronFireEvent, NeuronFireResponse}
 import fr.univ_lille.cristal.emeraude.n2s3.core.UnitCast._
+import fr.univ_lille.cristal.emeraude.n2s3.core._
 import fr.univ_lille.cristal.emeraude.n2s3.core.actors.{ShapelessSpike, WeightedSpike}
-import fr.univ_lille.cristal.emeraude.n2s3.core.event.{NeuronFireEvent, NeuronFireResponse}
 import fr.univ_lille.cristal.emeraude.n2s3.core.models.properties._
 import fr.univ_lille.cristal.emeraude.n2s3.core.models.synapse.FloatSynapse
-import fr.univ_lille.cristal.emeraude.n2s3.core.models.synapse.WeightedSynapse
-import fr.univ_lille.cristal.emeraude.n2s3.core.models.synapse.{FloatSynapse, WeightedSynapse}
 import fr.univ_lille.cristal.emeraude.n2s3.features.learning.{LTDUntil, LTPUntil}
-import fr.univ_lille.cristal.emeraude.n2s3.features.logging.STDPImageGenerator
 import fr.univ_lille.cristal.emeraude.n2s3.models.qbg.{NeuronPotentialEvent, NeuronPotentialResponse, QBGParameters}
 import fr.univ_lille.cristal.emeraude.n2s3.support.actors.Message
-import squants.electro.ElectricPotential
-import squants.electro.ElectricPotentialConversions.ElectricPotentialConversions
 
 import scala.math._
-import scala.util.Random
 
 object Neuron extends NeuronModel {
   override def createNeuron(): Neuron = new Neuron()
diff --git a/n2s3_examples/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/apps/ExampleFreeWay.scala b/n2s3_examples/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/apps/ExampleFreeWay.scala
index 8e51052d762eee19afcaeb5f029aa10a93d938f8..8a0b647b95ff7a987acbd217114914ebf24cfc8a 100644
--- a/n2s3_examples/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/apps/ExampleFreeWay.scala
+++ b/n2s3_examples/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/apps/ExampleFreeWay.scala
@@ -3,11 +3,11 @@ package fr.univ_lille.cristal.emeraude.n2s3.apps
 
 import akka.actor.Props
 import akka.pattern.ask
+import fr.univ_lille.cristal.emeraude.n2s3.core.Neuron.NeuronFireEvent
 import fr.univ_lille.cristal.emeraude.n2s3.core.Synchronizer.Done
 import fr.univ_lille.cristal.emeraude.n2s3.core.UnitCast._
 import fr.univ_lille.cristal.emeraude.n2s3.core._
 import fr.univ_lille.cristal.emeraude.n2s3.core.actors.Config
-import fr.univ_lille.cristal.emeraude.n2s3.core.event.NeuronFireEvent
 import fr.univ_lille.cristal.emeraude.n2s3.core.models.properties._
 import fr.univ_lille.cristal.emeraude.n2s3.features.builder.connection.types.FullConnection
 import fr.univ_lille.cristal.emeraude.n2s3.features.builder.{InputOutputGraphNetworkObserver, N2S3}
diff --git a/n2s3_examples/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/apps/bio/Masquelier.scala b/n2s3_examples/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/apps/bio/Masquelier.scala
index a2f3f97e3ffbdda81738db66cfaabdfdfdaf5159..ee952116b2558c3205d86a2e33d69ef502aa413a 100644
--- a/n2s3_examples/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/apps/bio/Masquelier.scala
+++ b/n2s3_examples/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/apps/bio/Masquelier.scala
@@ -5,10 +5,10 @@ import java.io.{File, PrintWriter}
 import akka.actor.Props
 import akka.pattern.ask
 import fr.univ_lille.cristal.emeraude.n2s3.core.GlobalTypesAlias.Timestamp
+import fr.univ_lille.cristal.emeraude.n2s3.core.Neuron.NeuronFireEvent
 import fr.univ_lille.cristal.emeraude.n2s3.core.Synchronizer.Done
 import fr.univ_lille.cristal.emeraude.n2s3.core._
 import fr.univ_lille.cristal.emeraude.n2s3.core.actors.{Config, ShapelessSpike}
-import fr.univ_lille.cristal.emeraude.n2s3.core.event.NeuronFireEvent
 import fr.univ_lille.cristal.emeraude.n2s3.core.models.properties.{MembraneThresholdFloat, MembraneThresholdType, MembraneThresholdTypeEnum}
 import fr.univ_lille.cristal.emeraude.n2s3.features.builder.N2S3
 import fr.univ_lille.cristal.emeraude.n2s3.features.builder.connection.types.FullConnection
diff --git a/n2s3_examples/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/apps/bio/SmallReservoir.scala b/n2s3_examples/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/apps/bio/SmallReservoir.scala
index 7455516dbf34c1ffd38bb736e55eb90c3621a15f..50159d614b069f337bbd8e7e299953419c42aa89 100644
--- a/n2s3_examples/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/apps/bio/SmallReservoir.scala
+++ b/n2s3_examples/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/apps/bio/SmallReservoir.scala
@@ -5,11 +5,11 @@ import java.io.{File, PrintWriter}
 import akka.actor.Props
 import akka.pattern.ask
 import fr.univ_lille.cristal.emeraude.n2s3.core.GlobalTypesAlias._
+import fr.univ_lille.cristal.emeraude.n2s3.core.Neuron.NeuronFireEvent
 import fr.univ_lille.cristal.emeraude.n2s3.core.Synchronizer.Done
 import fr.univ_lille.cristal.emeraude.n2s3.core.UnitCast._
 import fr.univ_lille.cristal.emeraude.n2s3.core._
 import fr.univ_lille.cristal.emeraude.n2s3.core.actors.{Config, ShapelessSpike}
-import fr.univ_lille.cristal.emeraude.n2s3.core.event.NeuronFireEvent
 import fr.univ_lille.cristal.emeraude.n2s3.core.models.properties._
 import fr.univ_lille.cristal.emeraude.n2s3.features.builder.N2S3
 import fr.univ_lille.cristal.emeraude.n2s3.features.builder.connection.types.RandomConnection
diff --git a/n2s3_examples/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/apps/ternary/BitStream.scala b/n2s3_examples/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/apps/ternary/BitStream.scala
index f05cb32cec8fcf458e690648bc49b9b5f3832407..bbea2fe1e990430f2b1ab37e8f80efbbeab3dce4 100644
--- a/n2s3_examples/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/apps/ternary/BitStream.scala
+++ b/n2s3_examples/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/apps/ternary/BitStream.scala
@@ -3,27 +3,27 @@ package fr.univ_lille.cristal.emeraude.n2s3.apps.ternary
 import java.io.{File, PrintWriter}
 
 import akka.actor.Props
+import akka.pattern.ask
 import fr.univ_lille.cristal.emeraude.n2s3.core.GlobalTypesAlias.Timestamp
+import fr.univ_lille.cristal.emeraude.n2s3.core.Neuron.NeuronFireEvent
+import fr.univ_lille.cristal.emeraude.n2s3.core.Synchronizer.Done
 import fr.univ_lille.cristal.emeraude.n2s3.core.UnitCast._
 import fr.univ_lille.cristal.emeraude.n2s3.core._
+import fr.univ_lille.cristal.emeraude.n2s3.core.actors.{Config, ShapelessSpike}
+import fr.univ_lille.cristal.emeraude.n2s3.core.models.properties._
 import fr.univ_lille.cristal.emeraude.n2s3.features.builder.N2S3
-import fr.univ_lille.cristal.emeraude.n2s3.features.builder.connection.types.{FullConnection, ManualConnection}
+import fr.univ_lille.cristal.emeraude.n2s3.features.builder.connection.types.ManualConnection
 import fr.univ_lille.cristal.emeraude.n2s3.features.io.input._
 import fr.univ_lille.cristal.emeraude.n2s3.features.logging.{NeuronsFireLogText, NeuronsPotentialLogText}
 import fr.univ_lille.cristal.emeraude.n2s3.models.qbg.NeuronPotentialEvent
-import fr.univ_lille.cristal.emeraude.n2s3.models.ternary_synapse.{FixedSynapse, InhibitorConnection, Neuron, Synapse}
+import fr.univ_lille.cristal.emeraude.n2s3.models.ternary_synapse.{FixedSynapse, Neuron}
 import fr.univ_lille.cristal.emeraude.n2s3.support.actors.LocalActorDeploymentStrategy
+import fr.univ_lille.cristal.emeraude.n2s3.support.event.Subscribe
 import fr.univ_lille.cristal.emeraude.n2s3.support.io.{InputSeq, N2S3Input, N2S3InputEnd, N2S3InputSpike}
 
 import scala.collection.mutable.ListBuffer
 import scala.concurrent.Await
 import scala.util.Random
-import akka.pattern.ask
-import fr.univ_lille.cristal.emeraude.n2s3.core.Synchronizer.Done
-import fr.univ_lille.cristal.emeraude.n2s3.core.actors.{Config, ShapelessSpike}
-import fr.univ_lille.cristal.emeraude.n2s3.core.event.NeuronFireEvent
-import fr.univ_lille.cristal.emeraude.n2s3.core.models.properties._
-import fr.univ_lille.cristal.emeraude.n2s3.support.event.Subscribe
 /**
   * Created by falezp on 14/10/16.
   */
diff --git a/n2s3_examples/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/apps/ternary/PatternStart.scala b/n2s3_examples/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/apps/ternary/PatternStart.scala
index 44aeb1d20483be6213843e4bf4311a4f69543950..2ab105e856c5966fed4f0eeecfc7c10b1b40e06b 100644
--- a/n2s3_examples/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/apps/ternary/PatternStart.scala
+++ b/n2s3_examples/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/apps/ternary/PatternStart.scala
@@ -5,11 +5,11 @@ import java.io.{File, PrintWriter}
 import akka.actor.Props
 import akka.pattern.ask
 import fr.univ_lille.cristal.emeraude.n2s3.core.GlobalTypesAlias.Timestamp
+import fr.univ_lille.cristal.emeraude.n2s3.core.Neuron.NeuronFireEvent
 import fr.univ_lille.cristal.emeraude.n2s3.core.Synchronizer.Done
 import fr.univ_lille.cristal.emeraude.n2s3.core.UnitCast._
 import fr.univ_lille.cristal.emeraude.n2s3.core._
 import fr.univ_lille.cristal.emeraude.n2s3.core.actors.{Config, ShapelessSpike}
-import fr.univ_lille.cristal.emeraude.n2s3.core.event.NeuronFireEvent
 import fr.univ_lille.cristal.emeraude.n2s3.core.models.properties.MembraneThresholdFloat
 import fr.univ_lille.cristal.emeraude.n2s3.features.builder.N2S3
 import fr.univ_lille.cristal.emeraude.n2s3.features.builder.connection.types.FullConnection