Invoker and much more

For more info read the commit comments.