redesigned callback signatures, vocabulary and cleaned up events