refactored signal to make it compatible wih Storm's EventSystem API