Better redef guard, EventEmitter fixes