Factory Pattern Cache