Cache through logging and seperate factory function for instance of class