ブロックが owner を retain してしまうので、weakOwner をブロックに渡す方式を採用