/**
* Runs user-specified code when the given javascript object is garbage collected
*/
template<class CALLBACK_FUNCTION>
void global_set_weak(v8::Isolate * isolate, const v8::Local<v8::Object> & javascript_object, CALLBACK_FUNCTION function)
{
struct SetWeakCallbackData{...