Collectable: remove duplicated code, improve doc