What was the reason again `result` needed to be a callable?