update Door to use EventEmitter