This should use blocks. libgit2 can deal with the function pointers and `void *` context. :trollface: