Memoize method calls, refactoring optional router parameters