public static IObservable <object> Commit(this IObjectSpace objectSpace, object o, ICredentialBearer bearer) => objectSpace.IsNewObject(o) ? o.Create(bearer) : objectSpace.IsDeletedObject(o) ? o.Delete(bearer) : objectSpace.CommitingRestCall(o, o.Update(bearer), bearer);