support timeout and setting callback function for method
support get/set property