fix once() callback wrap