Redesigned storage engine API to one tat makes more sense