added the ability to $.proxy and to check if event exists before firing