Cookie (Taraji P. Henson) holds a secret.
Photo: Chuck Hodes/FOX
“You commit your life to another man and his mission … Is that a worthy life, waking up every day to serve another man’s needs?” —Vernon
Excuse me for getting all Alan Sepinwall just then, but that bit of dialogue basically sums up what went down in “Out, Damned Spot” (which is, coincidentally, the second hour of TV this week named after that Shakespearean line). Most of Empire’s characters found themselves at a crossroads this week, wondering if serving a man (or, in Porsha’s case, a woman) is really any way to live a purposeful life.
I certainly feel where Vernon’s coming from, when Lucious, having seen Detective Walker on his security cameras rummaging in his trash, finally comes clean to him about shooting Bunkie. Now, Vernon has to clean up Lucious’s mess — thus inspiring his aforementioned aphorism. After weeks of lumbering around as a supporting character, actor Malik Yoba has a lot to do in this episode, and as expected, he handles it all quite effectively. He shifts from being introspective (talking to his sponsor, from which we also learned Vernon is a recovering addict) to calculating (making a costly deal with some guy to take the rap for shooting Bunkie) to downright menacing (giving a well-deserved choking to Andre for providing an alibi for his old man).
Vernon’s subplot was by far the sole strength of this episode, however, which was sadly not as good as its two preceding episodes. If anything, “Out, Damned Spot” highlights Empire’s unfortunate knack for creating inconsistencies in its characters. You’d think after basically killing a man for something she only thought he did last week, Cookie would be at least a little shaken, if not sick with guilt. But hell to the no! She’s more preoccupied with a possible reconciliation with Lucious after he admits the anniversary rose at her doorstep was his doing. Her hopes are abruptly dashed, though, when Lucious and Anika announce their engagement at a family get-together. Thus, ending Cookie’s plans to hook up with Lucious, a particular disappointment considering she arrived at the party wearing only sexy lingerie and an overcoat. (Seeing Cookie smack her ass at Anika was nice, though.)
Cookie being suddenly re-sprung on Lucious seems like a real step backwards, especially after all these weeks of Cookie mainly focusing on becoming a music-biz power-player. All it takes is a rose, and instantly ol’ girl is gonna forget about all that? Not to mention the whole Lucious-leaving-her-in-the-clink-for-17-years thing?
Thankfully, she gets her head back in the game when she learns that the label is going to drop Elle Dallas — who materializes in the form of Courtney Love. One of Empire’s first moneymakers, she’s now a drama queen and a drug addict. (Subtlety!) But Cookie, a diehard Dallas fan, vows to get her back in the studio to churn out some hits. The magic doesn’t happen at first, as the singer screeches her way through a recording session of Al Green’s “Take Me to the River,” but it’s a good thing Cookie is there to tell her to take off the fur coat and the jewelry and the hair extensions and sing from her soul. (For a minute there, I thought Love was going to go full Susanna Hoffs in the booth. But then I remembered this is network TV.) Apparently, according to Cookie’s ears, as Elle did another take, it worked — even though, much like the pilot’s cold-open, I couldn’t really tell the difference.
Cookie’s also continuing to manage Jamal’s thriving career, but the boy is beginning to get a bit swollen in the head. This is another disappointing character development, since Jamal was virtually the most levelheaded member of the Lyon family — scratch that, make it the whole damn show. The minute Cookie predicts to his boyfriend Michael that Jamal is going to change once his music gets heard, I knew Jamal would suddenly start making some bad moves. And sure enough, in record time, Jamal gets predictably sheepish when he’s asked (by Sway!) during an interview if he has a special lady. Instead, he says that it’s all about his music and he doesn’t have anyone special. That is fucked up.
After all these weeks of Jamal being out and proud, proving to Lucious that he doesn’t need his money if he’s not going to support him as a gay man, his sudden backpedaling clam-up makes no sense. (Especially senseless this week, considering the biggest winner at last Sunday’s Grammys is a proud, shade-throwing gay man.) Besides, doesn’t everyone know by now that Jamal is gay? Even those hood studio dudes he worked with last week knew, and they were cool with it!
Of course, Jamal’s dick move isn’t the most shocking thing he created. As revealed in this week’s “Oh, shit!” ending, it turns out he’s a not-so-proud papa. Raven-Symoné pops up as Olivia, appearing at the Empire headquarters with a little girl in tow, claiming that the girl is a big fan and wanted to see her daddy. The whole family is there to witness this awkward reunion between Jamal and this opportunity-seeking chickenhead with whom he probably had an experimental one-nighter that resulted in, well, this. We can only guess that in the next several episodes, Olivia will join the growing list of characters pondering whether it’s worth dealing with a man on a mission.
(More Than a Few) Stray Thoughts:
Although Jamal is getting a tad asshole-ish, he’s still low in the Lyon Boys Dick-Power Ranking. Hakeem is still high atop the list; he’s still seething because Camilla is ducking him and his girl Tiana is having fun with another woman (out of everything on this ludicrous show, a young horndog who isn’t down with girl-on-girl action seems the most far-fetched). So, naturally, he composes a rap song bad-mouthing the ladies in his life. Andre is right behind him, still smarting from Vernon’s chokehold and threatening to slit his throat if he touches him again. (I love how Vernon doesn’t even flinch and tells him to stay on his meds. Of course Andre crumbles after he leaves — even Andre knows he’s no match for Vernon, who’ll go Ving Rhames on a young cat in a heartbeat.)
By the way, Yoba wins the most unintentionally hilarious line-reading of the week with, “I apologize for choking you out — Team Andre.”
With Raven-Symoné playing a girl named Olivia, is the show trying to tell us that little Olivia Kendall from The Cosby Show grew up to be a single mom? Oh dear God, I hope that’s her backstory.
It’s gonna be interesting to watch how Derek Luke will keep things on lock at Empire, as a former Navy SEAL turned Lucious’s new head of security (and possible love interest for the always-flirtatious Cookie).
I thought Lucious would fess up about Bunkie’s murder way, way down the line. I guess after that ALS attack at the dining-room table, dude is feeling vulnerable. (Of course, later on, he gets desperate and asks his doctor to hook him up with experimental drugs from Russia.) I always thought the Bunkie murder was a flimsy way to start demonstrating the depths of Lucious’s sinister streak. He may have threatened Lucious with a gun, but Bunkie seemed way too pathetic and degenerate to be regarded as a dangerous threat. Lucious offing him seemed more cowardly than cold-blooded. In this ep, Vernon appears to have realized what we all did weeks ago: Lucious is really bad at being a badass. (This may explain why he quickly made up with Andre — so they can move along with “our plan.”)
Also, the show missed a golden opportunity by not having Vernon say, “Just don’t kill me next!” after Lucious asks him how he could repay him. (I guess Vernon chose to stay silent because they were both at a police station.)
In terms of who’s churning out the best music, wouldn’t you say Jamal is winning? That “I Wanna Love You” track is banging. Meanwhile, even though this episode has Hakeem doing rhymes off the dome, that woman song is garbage.
So, TMI is a stand-in for TMZ in this universe?
Didn’t that motel scene between Cookie and Elle look like a deleted scene from a Tyler Perry movie, especially when Cookie goes into Big Momma mode and cradles a sobbing Elle in her arms?
Also: Did Elle really refer to Empire as “a black shack”?
Do you think Porsha is going to take Anika up on her offer and basically become a spy for her? I wouldn’t put it past her (didja see that pendant she was wearing around her coiffure? She is so country), but I think she’d be stupid to betray Cookie. As that football player notes, they make a hilarious team. And, apparently, Cookie has no problem killing people and acting like nothing happened.
Finally, we gotta talk about the titles for these episodes. While they are usually obvious Shakespearean quotes, they are often confusingly used. For those who don’t know, “Out, Damned Spot” is a line from Macbeth, where Lady Macbeth started feeling guilty about her husband killing the king of Scotland, eventually sleepwalking and hallucinating that her blood-soaked hands aren’t clean. (Hence the line.) Although no one goes insane in this episode, could Vernon be the Lady Macbeth in this situation, having to carry the burden of Lucious’s murder on his shoulders now? It sure as hell isn’t Lucious or Cookie, with their homicidal asses.
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()}});
}, {"1":1,"6":6,"12":12,"35":35,"40":40}];
window.modules["global-nav.client"] = [function(require,module,exports){"use strict";const dom=require(4),auth=require(12),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(1),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 o=t.querySelector(".dropdown");!n||t.contains(e.target)&&27!==e.keyCode||o.classList.remove("open")})}function gtmSendReport(e,n,t){let o={eventCategory:"ecommerce",eventAction:"componentClick",brand:e,dimension23:"global-nav",list:pageUri,pageZone:"header",variant:"nav-link"};"global-nav-link"===t&&(o.eventLabel=n.href),gtm.reportNow(o)}function updateElementTargetUrlsIfQueryStrings(e){if(searchString){const n=new URLSearchParams(searchString);let t=e.href;if(t.includes("?")){const o=t.split("?"),i=new URLSearchParams(o[1]);for(let e of n.entries())i.set(e[0],e[1]);t=`${o[0]}?${i.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()&&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;
}, {"1":1,"4":4,"12":12,"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();
// ]]