diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/InputLayer.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/InputLayer.scala
index 195d015c3fd88f16e43601aaed00ebba013c2180..a5e7cdb3a90b227c60e496803502f07672f0e964 100644
--- a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/InputLayer.scala
+++ b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/InputLayer.scala
@@ -4,19 +4,26 @@ import fr.univ_lille.cristal.emeraude.n2s3.core.GlobalTypesAlias.Timestamp
 import fr.univ_lille.cristal.emeraude.n2s3.core.Neuron.NeuronMessage
 import fr.univ_lille.cristal.emeraude.n2s3.core.Synchronizer._
 import fr.univ_lille.cristal.emeraude.n2s3.core.actors.WrapMessage
-import fr.univ_lille.cristal.emeraude.n2s3.core.event.{LabelChangeEvent, LabelChangeResponse}
 import fr.univ_lille.cristal.emeraude.n2s3.features.io.input.StreamSupport
 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.{Observable, ObservableMessage, TimedEvent, TimedEventResponse}
 import fr.univ_lille.cristal.emeraude.n2s3.support.io._
 
 import scala.annotation.tailrec
 
-/**
-  * Input Layer Mesages
-  */
+/********************************************************************************************************************
+ * Messages
+ ******************************************************************************************************************/
+
 object AskRemainInput extends Message
 
+/********************************************************************************************************************
+ * Events
+ ******************************************************************************************************************/
+
+object LabelChangeEvent extends TimedEvent[LabelChangeResponse]
+case class LabelChangeResponse(timestamp: Timestamp, endTime : Timestamp, label : String) extends TimedEventResponse
+
 /**
   * Specialization of the NetworkContainer for the input layer
   */
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/LabelChangeEvent.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/LabelChangeEvent.scala
deleted file mode 100644
index fa2719c6c9c3704864b0adac51fa31130077d660..0000000000000000000000000000000000000000
--- a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/LabelChangeEvent.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.TimedEvent
-
-/**
-  * Created by guille on 10/14/16.
-  */
-object LabelChangeEvent extends TimedEvent[LabelChangeResponse]
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/LabelChangeResponse.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/LabelChangeResponse.scala
deleted file mode 100644
index 8ae97513f9ae8d9c57c6ce9e9093cd86d7074f6f..0000000000000000000000000000000000000000
--- a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/LabelChangeResponse.scala
+++ /dev/null
@@ -1,9 +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.support.event.TimedEventResponse
-
-/********************************************************************************************************
-  *  Event triggered when an input has a new label
-  *******************************************************************************************************/
-case class LabelChangeResponse(timestamp: Timestamp, endTime : Timestamp, label : String) extends TimedEventResponse
\ No newline at end of file
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/report/BenchmarkMonitorRef.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/report/BenchmarkMonitorRef.scala
index edda73094d07acf13bd35404a45e728042ef2611..4418da12c4a1efd5f866f1dc4af3cfd3042a72b1 100644
--- a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/report/BenchmarkMonitorRef.scala
+++ b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/report/BenchmarkMonitorRef.scala
@@ -9,7 +9,6 @@ import akka.pattern.ask
 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.LabelChangeEvent
 import fr.univ_lille.cristal.emeraude.n2s3.features.builder.{N2S3, NeuronGroupObserverRef, NeuronGroupRef}
 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/features/learning/BackPropagation.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/learning/BackPropagation.scala
index 3e5e9e5f536514a8c6cca943a70c0c9204b091c1..639304f4c3077dfa39e48e163443f2879d7f6bdf 100644
--- a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/learning/BackPropagation.scala
+++ b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/learning/BackPropagation.scala
@@ -7,9 +7,8 @@ package fr.univ_lille.cristal.emeraude.n2s3.features.learning
 import akka.actor.{Actor, ActorRef, Props}
 import akka.pattern.ask
 import fr.univ_lille.cristal.emeraude.n2s3.core.Synchronizer.{Next, WaitEndOfActivity}
-import fr.univ_lille.cristal.emeraude.n2s3.core.{ExternalSender, GetProperty, NetworkEntityPath, PropertyValue, _}
 import fr.univ_lille.cristal.emeraude.n2s3.core.actors.{Config, WrapMessage}
-import fr.univ_lille.cristal.emeraude.n2s3.core.event.{LabelChangeEvent, LabelChangeResponse}
+import fr.univ_lille.cristal.emeraude.n2s3.core.{ExternalSender, GetProperty, NetworkEntityPath, PropertyValue, _}
 import fr.univ_lille.cristal.emeraude.n2s3.features.builder.NeuronLayer
 import fr.univ_lille.cristal.emeraude.n2s3.features.logging.graph.ValuesGraph
 import fr.univ_lille.cristal.emeraude.n2s3.support.actors.{AbstractActorSystem, LocalActorDeploymentStrategy, PropsBuilder}
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/learning/SpikingSquareError.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/learning/SpikingSquareError.scala
index 9bd75df69419ddb621c1def1cab703784dbead67..52ffa20f6f45d4ae6761d826c50aa6b8804f8cce 100644
--- a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/learning/SpikingSquareError.scala
+++ b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/learning/SpikingSquareError.scala
@@ -5,7 +5,6 @@ import akka.pattern.ask
 import fr.univ_lille.cristal.emeraude.n2s3.core.Synchronizer.{Next, WaitEndOfActivity}
 import fr.univ_lille.cristal.emeraude.n2s3.core._
 import fr.univ_lille.cristal.emeraude.n2s3.core.actors.{Config, WrapMessage}
-import fr.univ_lille.cristal.emeraude.n2s3.core.event.{LabelChangeEvent, LabelChangeResponse}
 import fr.univ_lille.cristal.emeraude.n2s3.core.models.properties.SynapticWeightFloat
 import fr.univ_lille.cristal.emeraude.n2s3.features.builder.NeuronLayer
 import fr.univ_lille.cristal.emeraude.n2s3.features.logging.graph.ValuesGraph
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/learning/SquareError.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/learning/SquareError.scala
index 8f66d94205e0d7bb9281281aa3a50fb2f8655051..1d98c3ef2da7b0ee541eda115681562dd8ebf02f 100644
--- a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/learning/SquareError.scala
+++ b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/learning/SquareError.scala
@@ -5,7 +5,6 @@ import akka.pattern.ask
 import fr.univ_lille.cristal.emeraude.n2s3.core.Synchronizer.{Next, WaitEndOfActivity}
 import fr.univ_lille.cristal.emeraude.n2s3.core._
 import fr.univ_lille.cristal.emeraude.n2s3.core.actors.{Config, WrapMessage}
-import fr.univ_lille.cristal.emeraude.n2s3.core.event.{LabelChangeEvent, LabelChangeResponse}
 import fr.univ_lille.cristal.emeraude.n2s3.core.models.properties.SynapticWeightFloat
 import fr.univ_lille.cristal.emeraude.n2s3.features.builder.NeuronLayer
 import fr.univ_lille.cristal.emeraude.n2s3.features.logging.graph.ValuesGraph
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/learning/SupervisedSTDPLearning.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/learning/SupervisedSTDPLearning.scala
index 71c9f68d2f3c1f40ba3ba9d51edc2941b27e8788..38bd63a89d956380b2fbd8e9d08c32c1135fcf21 100644
--- a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/learning/SupervisedSTDPLearning.scala
+++ b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/learning/SupervisedSTDPLearning.scala
@@ -7,7 +7,6 @@ import fr.univ_lille.cristal.emeraude.n2s3.core.Neuron.NeuronMessage
 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.WrapMessage
-import fr.univ_lille.cristal.emeraude.n2s3.core.event.{LabelChangeEvent, LabelChangeResponse}
 import fr.univ_lille.cristal.emeraude.n2s3.features.builder.N2S3
 import fr.univ_lille.cristal.emeraude.n2s3.support.actors.Message
 import fr.univ_lille.cristal.emeraude.n2s3.support.event.{SubscribeSynchronized, SynchronizedEvent}
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/LabelMonitor.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/LabelMonitor.scala
index 6a639b8adcb576d3c500a55982038ae481540592..492785101226cc23d5ce2804e841e8f954ce16a7 100644
--- a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/LabelMonitor.scala
+++ b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/LabelMonitor.scala
@@ -1,18 +1,17 @@
 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._
+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.features.builder.N2S3
 import fr.univ_lille.cristal.emeraude.n2s3.support.actors.LocalActorDeploymentStrategy
+import fr.univ_lille.cristal.emeraude.n2s3.support.event.Subscribe
 
 import scala.collection.mutable.ArrayBuffer
 import scala.concurrent.Await
-import akka.pattern.ask
-import fr.univ_lille.cristal.emeraude.n2s3.core.Synchronizer.Done
-import fr.univ_lille.cristal.emeraude.n2s3.core.event.{LabelChangeEvent, LabelChangeResponse}
-import fr.univ_lille.cristal.emeraude.n2s3.support.event.Subscribe
 /**
   * Created by falezp on 19/10/16.
   */