Подскажите, пожалуйста, должен ли верно работать следующий код:

Код AS3:
roomPanel.addEventListener(MouseEvent.CLICK, function(e) {
// тут некий код
roomPanel.removeEventListener(MouseEvent.CLICK, function (e) {});
});
или некий код нужно выносить в отдельную функцию, а removeEventListener нужно вызывать уже не из неё и с указанием имени этой функции?
Добавлено через 6 минут
Кстати, мой "некий код" вызывает другую функцию с передачей ей параметра (типа uint). Если создавать отдельную функцию (вместо
function(e)), то как передать этой функции этот параметр? listener в addEventListener может содержать лишь имя функции, без параметров?