revise call sequence including parameters like libevent style