Avoid too many $outer reference.
See https://groups.google.com/d/msg/scala-language/3J15K24jhhg/Y4VkGiJPlkYJ