[fix] only allow a single once('exec') listener in callback case

Prevents possible duplicate ('exec') events from being handled when a callback is given.