Use make_shared instead of two separate allocations
Remove unused typedef from callback