Implement .trigger and tweak .off