ThreadLocal leads to null, saving UIFactory to session