Generators are now created lazily to avoid filling the stack because of recrursive calls in the injected Generator methods