Cleaned up the API a bit -- Datastore transactions done right