Add EVENT wrapper and several updates