feat(): add function wrapper for listener