Agreed - I just memoized both of the public functions.  Should save a few cycles.