After spending the weekend over this, the answer is as @RubenBartelink suggested. i.e, its not "lazy(new AEM()), but rather "lazy AEM()". All works now.