Added callback, emit, and hash