Hi Joel,
So what is your preference. Should be hide all the content::item::get_live_revision, ::get_latest_revision etc ?
I am thinking the same way as you, that there should only be one ::get procedure. I am thinking the same for setting the attributes of a contnet item. Right now there are several pl/sql procecedures to set the various attributes of a content item. I created a procedure called content::item::update to allow update of any content item attribute (execpt storage_type and tree_sortkey, I don't think it should be easy to change those.)
Another procedure that we might want to change is set_live_revision which has a side effect in that is also can set the publish_status. In a similar case the existing item::publish procedure also sets the live_revision, so I'd like to think about how that should work in practice.