The original code also has a cache explicitly instantiated. In this part, I basically followed what was done before. But yes, `@ngenerate` may be used here. I will look at this later.