Cache Controller using Interfaces rather than Static Methods