Changed from Event interface to abstractClass