Attempt to make more consistent API