Closures are just a php core callable objects and they have a __invoke so I think it's fine as is it handles everything.