Refactoring the signal to be used with threads

Signal should not be a part of the library but the main program.
Changing the name of signal to be signals is more inline with threads

Makefile is updated to reflect this change

There was a bug in Controller->setContainer, where it was refering the
variable from the class rather than the parameter