Using a private object as key of Items instead of a string; Using controllerContext instead of static class HttpContext.