Refactor
Add __invoke to closure
Basic support for __invoke