world: use ref-counting