evaluation – Wolfram modules returning functions

I am trying to get a With / Module pair to return a set of functions.

Funky(n_) := With({x = n},
  Module({LocalFunc1, LocalFunc2, MkLocalFunc},
   LocalFunc1(y_) := x + y; 
   LocalFunc2(y_) := x - y;
   MkLocalFunc(_fnToUse) := With({UseLocalFunc = fnToUse},
     Module({LocalFunc},
      LocalFunc(w_) = UseLocalFunc(w) + 10;
      LocalFunc
      )
     );
   {MkLocalFunc(LocalFunc1), MkLocalFunc(LocalFunc2)}
   )
  )
(Funky(1) // First)(1) 

Here I expected the output to be 12 but it returns MkLocalFunc$636015(LocalFunc1$636015)(1) Why won’t it evaluate MkLocalFunc$636015?