Refactored
Signal is now EventDispatcher
EventChannel is now EventBroadcaster
Modified signal to now accept function instead of string
//TODO - make scope optional for signals (not really advisable)