Refactor memoize to always use option and guava cache