diff --git a/.classpath b/.classpath
index a25b393..71d2e6b 100644
--- a/.classpath
+++ b/.classpath
@@ -23,32 +23,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -58,7 +33,37 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.gitignore b/.gitignore
index d075be7..dfd7070 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,11 +1,28 @@
-/bin/
-/Operator/
-/DrawerProperties/
-*.pdfd
-*.dbc
-SchedulerConfig.txt
-scenicView.properties
-ScenariumConfig.txt
+# ---> Java
+# Compiled class file
+*.class
+
+# Log file
+*.log
+
+# BlueJ files
+*.ctxt
+
+# Mobile Tools for Java (J2ME)
+.mtj.tmp/
+
+# Package Files #
+*.jar
+*.war
+*.nar
+*.ear
+*.zip
+*.tar.gz
+*.rar
+
+# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
+hs_err_pid*
+
*.class
*~
*.bck
@@ -15,3 +32,10 @@ build.number
/.settings/
/junit/
/target/
+
+*.pdfd
+*.dbc
+SchedulerConfig.txt
+scenicView.properties
+ScenariumConfig.txt
+*.blend*
diff --git a/src/module-info.java b/src/module-info.java
index 74d7d8b..4f1801c 100644
--- a/src/module-info.java
+++ b/src/module-info.java
@@ -16,8 +16,7 @@ open module org.atriasoft.ewol {
exports org.atriasoft.ewol.widget;
//exports org.atriasoft.ewol.widget.meta;
- exports org.atriasoft.esignal;
-
+ requires transitive org.atriasoft.esignal;
requires transitive org.atriasoft.iogami;
requires transitive org.atriasoft.gale;
requires transitive org.atriasoft.etk;
diff --git a/src/org/atriasoft/esignal/Connection.java b/src/org/atriasoft/esignal/Connection.java
deleted file mode 100644
index 619d541..0000000
--- a/src/org/atriasoft/esignal/Connection.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package org.atriasoft.esignal;
-
-import java.lang.ref.WeakReference;
-
-public class Connection implements AutoCloseable {
- protected WeakReference connection;
-
- public void connectionIsRemovedBySignal() {
- connection = null;
- }
-
- public void disconnect() {
- close();
- }
-
- public Connection( final ConnectionRemoveInterface object ) {
- this.connection = new WeakReference<>(object);
- }
-
- public Connection() {
- this.connection = null;
- }
-
- @Override
- public void close() {
- if (this.connection == null) {
- return;
- }
- ConnectionRemoveInterface tmp = this.connection.get();
- if (tmp == null) {
- return;
- }
- tmp.disconnect(this);
- this.connection = null;
- }
-
- public boolean isConnected() {
- if (this.connection == null) {
- return false;
- }
- ConnectionRemoveInterface tmp = this.connection.get();
- if (tmp == null) {
- return false;
- }
- return true;
- }
-}
diff --git a/src/org/atriasoft/esignal/ConnectionRemoveInterface.java b/src/org/atriasoft/esignal/ConnectionRemoveInterface.java
deleted file mode 100644
index fe80970..0000000
--- a/src/org/atriasoft/esignal/ConnectionRemoveInterface.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package org.atriasoft.esignal;
-
-public interface ConnectionRemoveInterface {
- void disconnect(final Connection connection);
-}
diff --git a/src/org/atriasoft/esignal/Signal.java b/src/org/atriasoft/esignal/Signal.java
deleted file mode 100644
index 7a148e2..0000000
--- a/src/org/atriasoft/esignal/Signal.java
+++ /dev/null
@@ -1,172 +0,0 @@
-package org.atriasoft.esignal;
-
-import java.lang.ref.WeakReference;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.function.Consumer;
-
-class ConnectedElement {
- protected final WeakReference> consumer;
-
- public ConnectedElement(final Consumer consumer) {
- this.consumer = new WeakReference>(consumer);
- }
-
- public Consumer getConsumer() {
- return this.consumer.get();
- }
-
- public boolean isCompatibleWith(final Object elem) {
- /*
- Object out = this.reference.get();
- if (out == elem) {
- return true;
- }
- return false;
- */
- return false;
- }
-
- public void disconnect() {
-
- }
-}
-
-class ConnectedElementDynamic extends ConnectedElement {
- protected final WeakReference