fixed bug on duplicate handler binding/unbinding