Use single instance for variants without parameters. Add acceptRecursive method.