@ckelner internals are fine, it's the inconsistency in the API classes/methods is what I'm worried about.