You could fold this into a template that takes a pointer-to-member, e.g.:

```c++
template <Persistent ContextifyContext::* Field>
static void WeakCallback(Isolate* isolate, Persistent<Object>* target, ContextifyContext* context) {
  assert(*target == context->*Field);
  // ...
}
```

And instantiate with:

```c++
context_.MakeWeak(this, WeakCallback<&ContextifyContext::context_>);
// etc.
```