Why not declare `_value.callback` as `std::function<void(Uniform*)>`? Then you can just use it like this

```cpp
_value.callback = callbak;
```

And you don't have to worry about memory leak.