ByBrian Tallerico,
a film critic with over 20 years of experience covering movies and TV.He is the president of the Chicago Film Critics Association, the co-producer of the Chicago Critics Film Festival, and managing editor of RogerEbert.com.
The third episode of Dead to Me is clever in the way that it sets up a greater villain in Jen’s immediate present than the woman who killed her husband and happens to be living in the guest house. “It’s All My Fault” introduces Ted’s mother, the abrasive and cold Lorna, who clearly never got along with her daughter-in-law and isn’t about to start now. Just as viewers are wondering how they should feel about questionable characters like Judy and Steve, in barges Lorna to unite them in hatred.
But before the introduction of the mother-in-law from hell, we get a sweet moment with Henry, who thinks his dad is now a bird who comes to visit every morning. Judy thinks it’s possible, while Jen barely plays along with a patronizing “aww,”earning her a dirty look from the bird. This, along with Jen’s frightened reaction, is played as a comedic beat, but this is the first of several scenes in this episode in which Lorna’s assertion that Jen isn’t naturally maternal is given some credence. Jen could just play along with the whole bird thing, and she should maybe take the bait when her other son suggests later that they play a video game together.
Before that, though, Jen and Judy return to Friends of Heaven. They discuss the bird thing and then Jen drops that the next day would have been Ted’s 50th birthday. The idea of celebrating Ted’s birthday makes Jen visibly uncomfortable, so Pastor Wayne suggests the idea of putting messages in balloons and releasing to heaven the things that they didn’t get a chance to say to Ted. Jen and Judy’s simultaneous but diametrically opposed reactions to this suggestion — “Absolutely not” and “I love that” — once again highlight the sort of yin-yang approach to grief at the heart of this improbable friendship.
Things are going better for Jen outside of group, as she and Christopher have received an offer $50k over asking on Steve’s house. Naturally, Jen’s mother-in-law takes this opportunity to show up and undermine her success. Lorna is also a realtor, but more of a force of nature, declining to congratulate Jen on the pending sale and snarking that she priced it too low. Her comment about Jen compartmentalizing her grief would be gross enough on its own, but then she seems to want to start a contest with Jen about who misses Ted more, pointing out that while Jen can always remarry, she can’t replace a son. Needless to say, Lorna is loathsome from her very first scene. When she drops that she’s planning a get-together at her home for Ted’s birthday, Jen’s hatred of the idea compels her to backtrack on her comments about not wanting to celebrate Ted’s birthday and volunteer to host the memorial herself.
Over at the retirement home, Judy and Abe are chatting when Steve shows up, earning a hearty “Hello Steve, you asshole!” from Abe. (Ed Asner, ladies and gentlemen.) Feeling contrite after his conversation last episode with Jen — “super cool chick, by the way” — Steve admits he went overboard with the restraining order and tells Judy that he had it removed. But instead of giving him the gratitude he seems to be expecting, Judy responds by hissing “She’s his wife,” shocking Steve, who has apparently been insisting that they hit a deer. “Jesus, no” is Steve’s understandable response, although he really shouldn’t call Judy nuts again. (Especially with Abe in the other room, ready to provide backup for Judy, since he’s “got nothing to lose.”) Clearly panicked, Steve urges Judy to stick to their story and berates her for pursuing a friendship with Jen, and it’s here we learn some specifics about his involvement in the hit-and-run: Judy was behind the wheel, but wanted to report the accident; it was Steve who made her leave the scene of the crime. We also learn that they weren’t married, just engaged, and that Steve was her lawyer. Not anymore.
Back at Jen’s house, Charlie hates the party idea and wants to keep playing “Wrath of Hades,” his favorite online game. Noting that Dad thought it was fun, and he even used to play with him, Charlie implies that Jen could give it a try. But she misses the obvious push to communicate with her son, preoccupied by the party/memorial she doesn’t really want to happen in her backyard. Luckily, Judy has turned the backyard into a beautiful party scene — “It’s ridiculous … in the best way,” Jen assures her — giving Jen a sliver of hope that this whole thing might actually be good for everyone. Of course, Lorna chooses this exact moment to show up with Christopher and strike down that hope. Lorna presumes that Judy is a “house girl,” and is stunned to learn that someone new is in her grandchildren’s life.
When Judy introduces the “message balloon” plan, Charlie hates it, while Lorna uses it to get emotional points and sympathy. Judy, for her part, writes, “I’m so sorry. It’s all my fault,” sending her confession into the sky before weeping in the bathroom. Is Judy going to crack at the seams? Is this the prelude to an actual confession? She tries to gather herself through a crying fit, giving herself a few slaps and putting on a fake smile. It’s a little terrifying, and perhaps another sign that Judy could be more dangerous than we think.
Lorna is at the door when she comes out, being awful and cruel, of course. Lorna reveals that Ted did most of the parenting, claiming that Jen never did a lot of mothering. Judy disagrees, and then helps Lorna carry out a cake with a photo on the frosting of Ted and his mother at Ted’s christening. Ugh. (The reliably sycophantic Christopher has a more measured reaction: “Wow, Lorna, this cake is wonderfully specific.”) But just as everyone has reluctantly formed a prayer circle at Christopher’s urging, the cops come and break up the party — but it’s not about the hit-and-run or even Judy’s restraining order. It’s about the golf club incident that ended the previous episode. Jen uses the opportunity to yell at them about not finding Ted’s killer and wasting her time. As she yells “Who did it?!,” Judy steps forward and says, “I did it. It was me.” She’s not confessing to Ted’s murder, but rather taking the bullet for the Corvette beating.
This backfires a little in that Lorna now thinks that Judy is a violent criminal, but Jen defends her friend, saying she’s the only person who doesn’t make her feel like she’s failing at everything. In this scene it’s clear how incredibly close Jen has gotten to Judy, which is going to make the ultimate revelation that Judy killed Ted all the more painful. Before then, though, Jen and her boys are going to punch the hell out of Lorna’s cake. When Lorna balks and accuses Jen of trying to hurt her, the two women enter into a standoff over Ted’s memory: Jen insists that they had a good marriage, which Lorna refutes, revealing that Ted called her the night he died. She closes with a cryptic, “Shall we talk about that?,” which clearly throws Jen for a loop. What did Ted tell his mom?
At the police station, Judy is confessing to the Corvette incident but thinking about the Ted one. She has no explanation for why she was in possession of a golf club, but nonetheless answers the detective’s questioning with a firm “I did it.” The fake confession is obviously cathartic for her. “You have no idea how sorry I am” she adds. Later, when Steve comes to bail her out, he’s pissed that she’s “trying to get caught,” but reaffirms that she needs to trust him and that they’re in it together. “I got you,” he says, and he couldn’t be smarmier. Okay, maybe he could. They kiss, and it almost feels like Steve is seeking redress for having to interrupt his dinner with his parents over a fake tummyache so that he could come rescue Judy.
That night, Jen finds the bird that Henry thinks is his lost father eating the remnants of the cake. Clearly deep in her feelings (and her wine), Jen addresses the bird as Ted. But the bird flies off — “Okay, fine, I was trying a thing, fuck you too” a chastened Jen snaps — just as one of the balloons from earlier almost magically descends back into the yard. Does it contain Judy’s confession? Alas, when she pops the balloon and opens the note, it’s not Judy’s. It’s from Charlie, who told his dead father, “I wish I could still play ‘Wrath of Hades’ with you.” Jen cries, goes inside, and logs on. As she starts typing, another player jumps in, excited to see Ted again. Her name is “bambi88,” and it’s not long before she asks when she can see Ted again — just before she reveals how much she misses his cock. Uh oh.
Extra counseling
• Is every episode going to end with a twist? Let’s hope not. It’s already starting to feel a little cheap.
• Speaking of cheap, the Lorna model of the manipulative mother-in-law is a little overdone, but the fact that she knows more about the last night of Ted’s life could make her an interesting player in the future.
• The brief flashback reveal that Judy was at Ted’s funeral is an interesting one, not only because it shows us how long Judy has been on the edge of Jen’s life, but that Steve wasn’t there. He had moved on already. Was Judy just following Jen the day that Jen went to Friends of Heaven and she had the courage to jump in?
By submitting your email, you agree to our
Terms and Privacy Notice
and to receive email correspondence from us. This site is protected by reCAPTCHA and the Google
Privacy Policy and
Terms of Service apply.
or
Already a subscriber?
What is your email?
This email will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
Password must be at least 8 characters and contain:
Lower case letters (a-z)
Upper case letters (A-Z)
Numbers (0-9)
Special Characters (!@#$%^&*)
This password will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
You’re in!
As part of your account, you’ll receive occasional updates and offers from New York, which you can opt out of anytime.
or
Already a subscriber?
What is your email?
This email will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
Password must be at least 8 characters and contain:
Lower case letters (a-z)
Upper case letters (A-Z)
Numbers (0-9)
Special Characters (!@#$%^&*)
This password will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
You’re in!
As part of your account, you’ll receive occasional updates and offers from New York, which you can opt out of anytime.
Already a subscriber?
Already a subscriber?
`;
// integrate Sub(x) scripts and elements
if (hostname !== 'subs.nymag.com') { // do not integrate on this subdomain
document.head.appendChild(trackingScript);
document.body.insertAdjacentHTML('beforeend', subXAnimationElements);
}
There was an error processing the request. Please try again later."}).catch(e=>console.error("Error verifying email: ",e)))(r.querySelector(".content"),o.bannerCTAVerification)})):(l.remove(),s.remove()),o.dismissable||n.remove(),o.useAlertIcon||a.remove(),r.classList.add("show"),n.addEventListener("click",()=>{u(),r.classList.remove("show")})}else r.remove()}});
}, {"3":3,"6":6,"17":17,"35":35,"40":40}];
window.modules["global-nav.client"] = [function(require,module,exports){"use strict";const dom=require(4),auth=require(17),signInButton=dom.find(".user-signin"),signOutButton=dom.find(".user-signout"),globalNav=dom.find('[class^="global-nav"]'),body=dom.find("body"),dropdownItems=dom.findAll(".dropdown-wrap"),gtm=require(3),appendLandingPageParams=require(135),pageUri=require(124).getPageUri(),subscriptionPromoLinks=dom.findAll(".persist-params"),searchString=window.location.search||"";function closeDropdowns(e){let n=globalNav.querySelectorAll(".dropdown.open");dropdownItems.forEach(function(t){let i=t.querySelector(".dropdown");!n||t.contains(e.target)&&27!==e.keyCode||i.classList.remove("open")})}function gtmSendReport(e,n,t){let i={eventCategory:"ecommerce",eventAction:"componentClick",brand:e,dimension23:"global-nav",list:pageUri,pageZone:"header",variant:"nav-link"};"global-nav-link"===t&&(i.eventLabel=n.href),gtm.reportNow(i)}function updateElementTargetUrlsIfQueryStrings(e){if(searchString){const n=new URLSearchParams(searchString);let t=e.href;if(t.includes("?")){const i=t.split("?"),o=new URLSearchParams(i[1]);for(let e of n.entries())o.set(e[0],e[1]);t=`${i[0]}?${o.toString()}`,e.href=t}else e.href=`${t}?${n.toString()}`}}function init(e){const n=e.querySelectorAll(".to-landing-page");window.addEventListener("auth:init",()=>{signInButton.addEventListener("click",function(e){e.preventDefault(),auth.showEmbeddedLoginFlow("top navigation")}),signOutButton.addEventListener("click",function(e){e.preventDefault(),gtmSendReport("Sign Out",e.target,"user-info-link"),auth.logout()}),auth.isAuthenticated()&&e.classList.add("signed-in"),(auth.isSubscriber()||auth.isMobileAppRequest())&&e.classList.add("subscribed"),e.querySelectorAll(".user-link").forEach(e=>{e.classList.add("active")}),subscriptionPromoLinks.forEach(e=>{updateElementTargetUrlsIfQueryStrings(e)}),appendLandingPageParams(n)})}dropdownItems.forEach(function(e){e.addEventListener("click",function(){e.querySelector(".dropdown").classList.toggle("open")})}),body.addEventListener("click",closeDropdowns),document.addEventListener("keydown",closeDropdowns),globalNav.addEventListener("click",function(e){let n=e.target;n.classList.contains("global-nav-track")&>mSendReport(n.text,n,"global-nav-link")}),module.exports=init;
}, {"3":3,"4":4,"17":17,"124":124,"135":135}];
window.modules["aaa-module-mounting.legacy"] = [function(require,module,exports){"use strict";const _pickBy=require(221),_each=require(406),Fingerprint2=require(408),DS=require(407),Eventify=require(246);function registerGlobals(){window.DS=DS,window.Eventify=Eventify,window.Fingerprint2=Fingerprint2,DS.value("Eventify",Eventify),DS.value("Fingerprint2",Fingerprint2),DS.value("$document",window.document),DS.value("$window",window)}function mountDollarSliceComponents(){DS.service("components",["$document","$module",function(e,n){var o=_pickBy(n.definitions,e=>e.providerStrategy===n.providers.controller),r=Object.keys(o);function t(e){return o=>{try{n.get(e,o)}catch(e){logMountError(o,e)}}}_each(r,n=>{var o=e.querySelectorAll('[data-uri*="/_components/'+n+'/"]'),r=e.querySelectorAll('[data-uri$="/_components/'+n+'"]');_each(o,t(n)),_each(r,t(n))}),this.components=r}]),DS.get("components")}function logMountError(e,n){const o=e.outerHTML.slice(0,e.outerHTML.indexOf(e.innerHTML));console.error("Error attaching controller to "+o,n)}registerGlobals(),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>{mountDollarSliceComponents()}):mountDollarSliceComponents();
}, {"221":221,"246":246,"406":406,"407":407,"408":408}];
window.modules["ads.legacy"] = [function(require,module,exports){"use strict";const _map=require(118),_forEach=require(107),_isString=require(268),_intersectionWith=require(409),_isEqual=require(274),_each=require(406),_debounce=require(182),_sortBy=require(205),page=require(124),visit=require(114);DS.service("adService",["Eventify","$cid","$document","$window",function(e,t,a,i){var o,n,s,r,d,c,u,l,g={},p=this,h=[],f=visit.getQueryParamsObject(["utm_campaign"]),m=document.querySelector('script[data-type="ad-a9"]'),b=[],w=!1,v=[],y=document.querySelector('script[data-name="ad-doubleverify"]');document.querySelector('script[data-name="concert-ads"]')||(i.NYM={},i.NYM.analytics={},i.NYM.analytics.adStartTime=i.performance.now(),i.googletag=i.googletag||{},i.googletag.cmd=i.googletag.cmd||[],u=i.googletag,(m||y)&&(i.googletag.cmd=i.googletag.cmd||[],i.googletag.cmd.push(function(){i.googletag.pubads().disableInitialLoad()})),m&&(l=i.setInterval(function(){void 0!==window.apstag&&void 0!==window.apstag.timeout&&(i.clearInterval(l),window.apstag.cleared=!0,l=null)},10),setTimeout(function(){l&&(i.clearInterval(l),i.googletag.pubads().refresh(),window.apstag||console.log("MESSAGE: Timeout for A9 load exceeded, aborting"))},500)),y&&(b.push(new Promise(function(e){w?e():v.push(e)})),c=i.setTimeout(T,2500)),o=function(e){var t,a,o=e.data,n=[];return o.loaded?e:(o.loaded=!0,t=null,(t=o.sizes?u.defineSlot(o.name,o.sizes,o.id).addService(u.pubads()):u.defineOutOfPageSlot(o.name,o.id).addService(u.pubads())).setTargeting("adid",o.id),f.hasOwnProperty("utm_campaign")&&t.setTargeting("utmcamp",f.utm_campaign),a=p.getAdCount(o.label),t.setTargeting("label",o.label+"_"+o.site+"-"+a),u.display(o.id),u.pubads().addEventListener("slotOnload",function(){i.NYM.analytics.firstAdLoadTime||(i.NYM.analytics.firstAdLoadTime=i.performance.now(),i.NYM.analytics.firstAdLoadLabel=e.data.label)}),n=_(o),Promise.all(b).then(function(){n?window.apstag&&window.apstag.cleared?window.apstag.fetchBids({slots:[n],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([t],{changeCorrelator:!1})})}):y&&u.pubads().refresh([t],{changeCorrelator:!1}):u.pubads().refresh([t],{changeCorrelator:!1})}),e.slot=t,e)},n=function(e){var a,i,o,n=t(),s=e.getAttribute("data-name"),r=e.getAttribute("data-sizes"),d=e.getAttribute("data-label"),c=e.getAttribute("data-site");n=e.id,r&&r.length?(r=r.split(","),a=[],_map(r,function(e){e=e.split("x"),i=parseInt(e[0]),o=parseInt(e[1]),a.push([i,o])})):(e.classList.add("oop"),a=!1),this.data={id:n,name:s,sizes:a,loaded:!1,label:d,site:c},g[n]=this},r=function(e){u.cmd.push(function(){var t=o(e);g[e.data.id]=t})},s=function(e){var t=[];e.slot?(t=_(e))&&window.apstag&&window.apstag.cleared&&window.apstag.fetchBids({slots:[t],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([e.slot],{changeCorrelator:!1})})}):e&&r(e)},u.cmd.push(function(){var e,t,o,n=page.getMeta("article:tag"),s=page.getMeta("author"),r=i.location.href,d=(e=a.head.querySelector(".head-gtm"),t=a.body.querySelector(".gtm"),e&&"top"===e.getAttribute("data-gtm")?"gtmtop":t&&"bottom"===t.getAttribute("data-gtm")?"gtmbottom":"");o=[],_forEach([n,s,d],function(e){_forEach(e.split(","),function(e){(e=e.trim().toLowerCase().replace(/\s/g,"-").replace(/\'|\’/g,"")).length&&o.push(e)})}),u.pubads().setTargeting("kw",o),u.pubads().setTargeting("entry_group",o),r=r.slice(r.lastIndexOf("/")+1),u.pubads().setTargeting("pn",r),u.companionAds().setRefreshUnfilledSlots(!0),u.pubads().enableAsyncRendering(),u.enableServices()}),this.load=r,this.create=function(e){return new n(e)},this.refresh=function(e){var t;_isString(e)?(t=this.getById(e),s(t)):s(e)},this.remove=function(e){var t=e.data.id;a.getElementById(t).innerHTML=""},this.getAdCount=function(e){var t,a=0,i=Object.keys(g);return _each(i,function(i){(t=g[i]).data.loaded&&t.data.label===e&&a++}),a},this.getById=function(e){return g[e]},d=_debounce(function(){var e={TopLeaderboard:1,RightColTopMPU:2,outOfPage:99,"homepageTakeover/TopLeaderboard":1},t=_sortBy(h,function(t){return e[t.data.label]||10});_forEach(t,function(e){return e.data.sizes?r(e):i.setTimeout(function(){r(e)},2e3)}),y&&window.PQ.cmd.push(()=>{try{window.PQ.loadSignals(["ids","bsc","vlp"],T)}catch(e){T(),console.error(`There has been an error loading Double Verify signals: ${e}`)}}),h=[]},10),this.addToPageLoadQueue=function(e){h.push(e),d()});function _(e){var t,a=e.sizes;return a=_intersectionWith(a,[[970,250],[970,90],[728,90],[300,600],[300,250],[320,100],[320,50]],_isEqual),e.sizes&&e.sizes.length&&(t={slotID:e.id,sizes:a,slotName:e.label}),t}function T(){i.clearTimeout(c),w=!0,_forEach(v,function(e){e()})}}]);
}, {"107":107,"114":114,"118":118,"124":124,"182":182,"205":205,"268":268,"274":274,"406":406,"409":409}];
window.modules["cid.legacy"] = [function(require,module,exports){"use strict";DS.service("$cid",function(){var r=Math.floor(100*Math.random());return function(){return"cid-"+ ++r}});
}, {}];
window.modules["client.legacy"] = [function(require,module,exports){"use strict";require("cid.legacy"),require("ads.legacy"),require("facebook.legacy"),require("aaa-module-mounting.legacy");
}, {"cid.legacy":"cid.legacy","ads.legacy":"ads.legacy","facebook.legacy":"facebook.legacy","aaa-module-mounting.legacy":"aaa-module-mounting.legacy"}];
window.modules["facebook.legacy"] = [function(require,module,exports){"use strict";DS.service("facebook",[function(){this.fb=function(i){window.FB&&window.FB[i].apply(this,Array.prototype.slice.call(arguments,1))}}]);
}, {}];
require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o typeof key === 'string' && key.match(/\.legacy$/)).forEach(key => window.require(key));
}
function tryToMount(fn, el, name) {
try {
fn(el); // init the controller
} catch (e) {
const elementTag = el.outerHTML.slice(0, el.outerHTML.indexOf(el.innerHTML));
console.error(`Error initializing controller for "${name}" on "${elementTag}"`, e);
}
}
/**
* mount client.js component controllers
*/
function mountComponentModules() {
Object.keys(window.modules).filter(key => typeof key === 'string' && key.match(/\.client$/)).forEach(key => {
let controllerFn = window.require(key);
if (typeof controllerFn === 'function') {
const name = key.replace('.client', ''),
instancesSelector = `[data-uri*="_components/${name}/"]`,
defaultSelector = `[data-uri$="_components${name}"]`,
instances = document.querySelectorAll(instancesSelector),
defaults = document.querySelectorAll(defaultSelector);
for (let el of instances) {
tryToMount(controllerFn, el, name);
}
for (let el of defaults) {
tryToMount(controllerFn, el, name);
}
}
});
}
// Make sure that a `window.process.env.NODE_ENV` is available in the client for any dependencies,
// services, or components that could require it
// note: the `` value is swapped for the actual environment variable in /lib/cmd/compile/scripts.js
window.process = window.process || {};
window.process.env = window.process.env || {};
if (!window.process.env.NODE_ENV) {
window.process.env.NODE_ENV = '';
}
// note: legacy controllers that require legacy services (e.g. dollar-slice) must
// wait for DOMContentLoaded to initialize themselves, as the files themselves must be mounted first
mountLegacyServices();
mountComponentModules();
// ]]