fix bug where wrapped callback not used
remove rw lock, cause possible deadlock