Make all base events abstract, fixes #5