Refactor memoization to use memoizable
Remove completed task from TODO