This is broken. You cannot cache the output without taking the arguments of the method into account as it means you will display the wrong output the second time