Currently many methods return the set of something, for example getEnzymes() if the enzymes are ready the internal set is returned, otherwise, first it generate the enzymes and then return the internal set.
The idea is to replace this by getEnzymes(enzyme_id) and if that particular enzyme is ready it returns the enzyme, but if not, it calculates the enzyme, saves it in the internal structure for future requests and returns the enzyme.
This should be made for all the method that returns the entire set instead of the individual items.