Elliot Page’s trans coming out is a gift of vulnerability.

Elliot Page stands in front of a window overlooking the Toronto skyline.
Elliot Page in Toronto on Sept. 7, 2019.
Rich Polk/Getty Images

This post is part of Outward, Slate’s home for coverage of LGBTQ life, thought, and culture. Read more here.

When Elliot Page came out as transgender on Tuesday, his statement on social media was lucid about the consequences.

“My joy is real, but it is also fragile,” he wrote. “The truth is, despite feeling profoundly happy right now and knowing how much privilege I carry, I am also scared. I’m scared of the invasiveness, the hate, the ‘jokes’ and of violence.” Page asked fans for “patience,” saying that he plans to “offer whatever support I can” to the larger trans and nonbinary community while he strives to “fully embrace” who he is. His pronouns going forward are he/they.

The critically acclaimed actor, perhaps best known for his performances in Juno, the X-Men franchise, and more recently Netflix’s The Umbrella Academy, is by now a well-recognized figure for LGBTQ advocacy and representation. Since his coming out as gay in 2014, he’s been outspoken about his journey, in public and on social media. He’s also traveled the world exploring pockets of queer culture with his best friend, Ian Daniel, in the Vice video series Gaycation—a gig that often brought out an endearing streak of introspection and vulnerability.

Indeed, Page’s vulnerability is a defining feature of his activism and was on full display during his appearance on Marc Maron’s podcast, WTF, just this past August. Maron asked Page about growing up in Halifax, Nova Scotia, and about his trauma and experiences coming out in Hollywood. There were long pauses as Page searched for just the right words to convey himself honestly. You could feel him putting real work into his answers.

“It gives me such immense privilege and opportunity,” Page said of his career, “and so you also feel like, ‘Should I be talking about my pain?’ You feel like you can’t. Even now, I still have a hard time talking about that period [of coming out as gay], to be honest. So my experience … it’s hard to know what to say.”

For someone whose identity has been subject to intense public scrutiny for six years, it surprised me to hear a tangible timidity in Page’s answers. I knew he was deeply passionate about queer issues and knowing that he had been an activist for so long, I was drawn to the mystery of his noticeably measured responses. He was still struggling. Part of me wondered if he had more to say.

Maron’s interview now feels like foreshadowing, and the honesty of Tuesday’s announcement will no doubt continue to inspire many—myself included. While I haven’t followed Page for long, I recently pandemic-devoured both seasons of Umbrella Academy and found his performance really appealing. If I were to try to gather my words the same way he did on Maron’s podcast, I would say I think I saw something reflected on screen that made me feel safe following his character. Perhaps it was because I’m still relatively new to being out as nonbinary, and something about his presentation and the way he carried himself resonated.

I can also relate to his joy, and his fear. Coming out nonbinary was not the same experience for me as coming out as gay, something I did at some point between the Ellen sitcom and the ascendance of social media. It’s been harder. I’ve borrowed from the language of that first coming out to convey my current experiences in whatever small ways I can to those outside my immediate community. But beyond the camaraderie of my group, I still feel like the words fail me, or others are still not quite ready to receive them.

For those like myself without Page’s privilege, his courage in this moment is a gift. We’re in an awkward evolutionary phase of trans and nonbinary media visibility, and Page is honest about the duality of having protection in his celebrity status and the difficulties he still faces. And while he’s had to come out before, this is challenging in a completely different way, and he’s still allowing himself to be vulnerable about the process. That’s really hard. But he’s doing it right.

In a Guardian piece from 2019, friend Ian Daniels said, “I think [Page] sees that the world needs to see more mainstream representations of the multitude of ways we really are.” Page’s statement echoes this crucial idea, inviting all of us on a journey of honest self-discovery and declaration: “The more I hold myself close and fully embrace who I am, the more I dream, the more my heart grows and the more I thrive.”

')}function tryGetCriteoFastBid(){try{var fastBidStorageKey="criteo_fast_bid",hashPrefix="// Hash: ",fastBidFromStorage=storage.getDataFromLocalStorage(fastBidStorageKey),firstLineEndPosition,firstLine,publisherTagHash,publisherTag;null!==fastBidFromStorage&&(firstLineEndPosition=fastBidFromStorage.indexOf("n"),firstLine=fastBidFromStorage.substr(0,firstLineEndPosition).trim(),firstLine.substr(0,hashPrefix.length)!==hashPrefix?(__WEBPACK_IMPORTED_MODULE_4__src_utils_js__.logWarn("No hash found in FastBid"),storage.removeDataFromLocalStorage(fastBidStorageKey)):(publisherTagHash=firstLine.substr(hashPrefix.length),publisherTag=fastBidFromStorage.substr(firstLineEndPosition+1),Object(__WEBPACK_IMPORTED_MODULE_6_criteo_direct_rsa_validate_build_verify_js__.verify)(publisherTag,publisherTagHash,FAST_BID_PUBKEY_N,FAST_BID_PUBKEY_E)?(__WEBPACK_IMPORTED_MODULE_4__src_utils_js__.logInfo("Using Criteo FastBid"),eval(publisherTag)):(__WEBPACK_IMPORTED_MODULE_4__src_utils_js__.logWarn("Invalid Criteo FastBid found"),storage.removeDataFromLocalStorage(fastBidStorageKey))))}catch(e){}}Object(__WEBPACK_IMPORTED_MODULE_1__src_adapters_bidderFactory_js__.registerBidder)(spec)},377:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var n=r(378),i=r(379);t.verify=function(e,t,r,o){var a=new n.BigInteger(n.b64toHex(t)),s=new n.BigInteger(n.b64toHex(r)),c=a.modPowInt(o,s);return n.removeExtraSymbols(c.toHexString())===i.Sha256.hash(e)}},378:function(e,t,r){var n;Object.defineProperty(t,"__esModule",{value:!0});var i=(o.prototype.toHexString=function(){if(this.s<0)return"-"+this.negate().toHexString();var e,t=!1,r="",n=this.t,i=this.DB-n*this.DB%4;if(0>i)&&(t=!0,r=l(e));0<=n;)i<4?(e=(this[n]&(1<>(i+=this.DB-4)):(e=this[n]>>(i-=4)&15,i<=0&&(i+=this.DB,--n)),0this.DB?(this[this.t-1]|=(i&(1<>this.DB-n):this[this.t-1]|=i<=this.DB&&(n-=this.DB))}this.clamp(),r&&o.ZERO.subTo(this,this)}},o.prototype.negate=function(){var e=a();return o.ZERO.subTo(this,e),e},o.prototype.abs=function(){return this.s<0?this.negate():this},o.prototype.mod=function(e){var t=a();return this.abs().divRemTo(e,null,t),this.s<0&&0>n|a,a=(this[s]&i)<=t.DV&&(e[r+t.t]-=t.DV,e[r+t.t+1]=1)}0>this.F2:0),m=this.FV/g,b=(1<=this.t)t.t=0;else{var n=e%this.DB,i=this.DB-n,o=(1<>n;for(var a=r+1;a>n;0>=this.DB;if(e.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=this.DB;n-=e.s}t.s=n<0?-1:0,n<-1?t[r++]=this.DV+n:0>15;0<=--o;){var c=32767&this[e],d=this[e++]>>15,u=s*c+d*a;i=((c=a*c+((32767&u)<<15)+r[n]+(1073741823&i))>>>30)+(u>>>15)+s*d+(i>>>30),r[n++]=1073741823&c}return i},o.prototype.am3=function(e,t,r,n,i,o){for(var a=16383&t,s=t>>14;0<=--o;){var c=16383&this[e],d=this[e++]>>14,u=s*c+d*a;i=((c=a*c+((16383&u)<<14)+r[n]+i)>>28)+(u>>14)+s*d,r[n++]=268435455&c}return i},o);function o(e){null!==e&&this.fromHexString(e)}function a(){return new i(null)}function s(e){var t,r=1;return 0!=(t=e>>>16)&&(e=t,r+=16),0!=(t=e>>8)&&(e=t,r+=8),0!=(t=e>>4)&&(e=t,r+=4),0!=(t=e>>2)&&(e=t,r+=2),0!=(t=e>>1)&&(e=t,r+=1),r}t.BigInteger=i,t.nbi=a,t.nbits=s;for(var c=[],d="0".charCodeAt(0),u=0;u<=9;++u)c[d++]=u;for(d="a".charCodeAt(0),u=10;u<36;++u)c[d++]=u;for(d="A".charCodeAt(0),u=10;u<36;++u)c[d++]=u;function p(e,t){var r=c[e.charCodeAt(t)];return null==r?-1:r}t.intAt=p;var f="0123456789abcdefghijklmnopqrstuvwxyz";function l(e){return f.charAt(e)}t.int2char=l,t.b64toHex=function(e){for(var t="",r=0,n=0,i=0;i>2),n=3&o,1):1==r?(t+=l(n<<2|o>>4),n=15&o,2):2==r?(t+=l(n),t+=l(o>>2),n=3&o,3):(t+=l(n<<2|o>>4),t+=l(15&o),0))}return 1==r&&(t+=l(n<<2)),t},t.removeExtraSymbols=function(e){return e.replace(/^1f+00/,"").replace("3031300d060960864801650304020105000420"https://slate.com/,"")};var g=(m.prototype.convert=function(e){return e.s<0||0<=e.compareTo(this.m)?e.mod(this.m):e},m.prototype.revert=function(e){return e},m.prototype.reduce=function(e){e.divRemTo(this.m,null,e)},m.prototype.mulTo=function(e,t,r){e.multiplyTo(t,r),this.reduce(r)},m.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)},m);function m(e){this.m=e}var b=(v.prototype.convert=function(e){var t=a();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&0>15)*this.mpl&this.um)<<15)&e.DM;for(e[r=t+this.m.t]+=this.m.am(0,n,e,t,0,this.m.t);e[r]>=e.DV;)e[r]-=e.DV,e[++r]++}e.clamp(),e.drShiftTo(this.m.t,e),0<=e.compareTo(this.m)&&e.subTo(this.m,e)},v.prototype.mulTo=function(e,t,r){e.multiplyTo(t,r),this.reduce(r)},v.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)},v);function v(e){this.m=e,this.mp=e.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<>>0;for(a[o-1][14]=Math.floor(d),a[o-1][15]=u,s=0;s>>0;var l=r[0],g=r[1],m=r[2],b=r[3],v=r[4],y=r[5],h=r[6],_=r[7];for(f=0;f<64;f++){var S=_+i.z1(v)+i.Ch(v,y,h)+t[f]+p[f],I=i.z0(l)+i.Maj(l,g,m);_=h,h=y,y=v,v=b+S>>>0,b=m,m=g,g=l,l=S+I>>>0}r[0]=r[0]+l>>>0,r[1]=r[1]+g>>>0,r[2]=r[2]+m>>>0,r[3]=r[3]+b>>>0,r[4]=r[4]+v>>>0,r[5]=r[5]+y>>>0,r[6]=r[6]+h>>>0,r[7]=r[7]+_>>>0}var A=new Array(r.length);for(_=0;_>>e|t<<32-e},i.z0=function(e){return i.ROTR(2,e)^i.ROTR(13,e)^i.ROTR(22,e)},i.z1=function(e){return i.ROTR(6,e)^i.ROTR(11,e)^i.ROTR(25,e)},i.q0=function(e){return i.ROTR(7,e)^i.ROTR(18,e)^e>>>3},i.q1=function(e){return i.ROTR(17,e)^i.ROTR(19,e)^e>>>10},i.Ch=function(e,t,r){return e&t^~e&r},i.Maj=function(e,t,r){return e&t^e&r^t&r},i);function i(){}t.Sha256=n}},[375]),pbjsChunk([218],{501:function(e,t,r){e.exports=r(502)},502:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),r.d(t,"spec",function(){return A});var n=r(0),i=r(2),o=r(3),a=r(10),s=r.n(a),c=r(503),d=r.n(c),u=r(1);function p(e){return function(e){if(Array.isArray(e))return f(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return f(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?f(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);re.length)&&(t=e.length);for(var r=0,n=new Array(t);rnnnx3c!-- Rubicon Project Ad Tag --x3en

nn

nn")),c=d(m[i.size_id].split("x").map(function(e){return Number(e)}),2),s.width=c[0],s.height=c[1]),s.rubiconTargeting=(Array.isArray(i.targeting)?i.targeting:[]).reduce(function(e,t){return e[t.key]=t.values[0],e},{rpfl_elemid:f.adUnitCode}),t.push(s)):n.logError("Rubicon: bidRequest undefined at index position:".concat(o),r,e),t},[]).sort(function(e,t){return(t.cpm||0)-(e.cpm||0)})},getUserSyncs:function(e,t,r,n){if(!x&&e.iframeEnabled){var i="";return r&&"string"==typeof r.consentString&&("boolean"==typeof r.gdprApplies?i+="?gdpr=".concat(Number(r.gdprApplies),"&gdpr_consent=").concat(r.consentString):i+="?gdpr_consent=".concat(r.consentString)),n&&(i+="".concat(i?"&":"?"https://slate.com/,"us_privacy=").concat(encodeURIComponent(n))),x=!0,{type:"iframe",url:"https://".concat(g.syncHost||"eus"https://slate.com/,".rubiconproject.com/usync.html")+i}}},transformBidParams:function(e){return n.convertTypes({accountId:"number",siteId:"number",zoneId:"number"},e)}};function v(e,t){var r=o.b.getConfig("pageUrl");r=e.params.referrer?e.params.referrer:r||t.refererInfo.referer;return e.params.secure?r.replace(/^http:/i,"https:"):r}function y(e,t){var r=e.params;if("video"===t){var i=[];return r.video&&r.video.playerWidth&&r.video.playerHeight?i=[r.video.playerWidth,r.video.playerHeight]:Array.isArray(n.deepAccess(e,"mediaTypes.video.playerSize"))&&1===e.mediaTypes.video.playerSize.length?i=e.mediaTypes.video.playerSize[0]:Array.isArray(e.sizes)&&0e.length)&&(t=e.length);for(var r=0,n=new Array(t);r‘;var i,o}},h=function(e){var t=0=e&&t.innerWidth‘+v.vast_url+”“:v.vast_string&&(y=v.vast_string),g.pre_market_bids.push({id:v.deal_id,seatbid:[{bid:[{impid:Date.now(),dealid:v.deal_id,price:v.price,adm:y}]}],cur:v.currency,ext:{event_log:[{}]}})}}var h=n.getBidIdParameter(“mimes”,e.params)||[“application/javascript”https://slate.com/,”video/mp4″https://slate.com/,”video/webm”],_={id:e.bidId,secure:l,video:{w:p,h:f,ext:g,mimes:h}};””!=n.getBidIdParameter(“price_floor”,e.params)&&(_.bidfloor=n.getBidIdParameter(“price_floor”,e.params)),””!=n.getBidIdParameter(“start_delay”,e.params)&&(_.video.startdelay=0+Boolean(n.getBidIdParameter(“start_delay”,e.params))),””!=n.getBidIdParameter(“min_duration”,e.params)&&(_.video.minduration=n.getBidIdParameter(“min_duration”,e.params)),””!=n.getBidIdParameter(“max_duration”,e.params)&&(_.video.maxduration=n.getBidIdParameter(“max_duration”,e.params)),””!=n.getBidIdParameter(“placement_type”,e.params)&&(_.video.ext.placement=n.getBidIdParameter(“placement_type”,e.params)),””!=n.getBidIdParameter(“position”,e.params)&&(_.video.ext.pos=n.getBidIdParameter(“position”,e.params)),e.crumbs&&e.crumbs.pubcid&&(c=e.crumbs.pubcid);var S=navigator.language?”language”:”userLanguage”,I={id:s,imp:_,site:{id:””,page:a,content:”content”},device:{h:screen.height,w:screen.width,dnt:n.getDNT()?1:0,language:navigator[S].split(“-“)[0],make:navigator.vendor?navigator.vendor:””,ua:navigator.userAgent},ext:{wrap_response:1}};n.getBidIdParameter(“number_of_ads”,e.params)&&(I.ext.number_of_ads=n.getBidIdParameter(“number_of_ads”,e.params));var A={};return 1==n.getBidIdParameter(“spotx_all_google_consent”,e.params)&&(A.consented_providers_settings=u),t&&t.gdprConsent&&(A.consent=t.gdprConsent.consentString,void 0!==t.gdprConsent.gdprApplies&&n.deepSetValue(I,”regs.ext.gdpr”,t.gdprConsent.gdprApplies?1:0)),t&&t.uspConsent&&n.deepSetValue(I,”regs.ext.us_privacy”,t.uspConsent),n.deepAccess(e,”userId.id5id.uid”)&&(A.eids=A.eids||[],A.eids.push({source:”id5-sync.com”,uids:[{id:e.userId.id5id.uid}],ext:e.userId.id5id.ext||{}})),c&&(A.fpc=c),e&&e.schain&&(I.source={ext:{schain:e.schain}}),e&&e.userId&&e.userId.tdid&&(A.eids=A.eids||[],A.eids.push({source:”adserver.org”,uids:[{id:e.userId.tdid,ext:{rtiPartner:”TDID”}}]})),n.isEmpty(A)||(I.user={ext:A}),{method:”POST”,url:”https://search.spotxchange.com/openrtb/2.3/dados/”+s,data:I,bidRequest:t}})},interpretResponse:function(e,t){var r=[],i=e.body;return i&&n.isArray(i.seatbid)&&n._each(i.seatbid,function(e){n._each(e.bid,function(e){var a={};for(var c in t.bidRequest.bids)e.impid==t.bidRequest.bids[c].bidId&&(a=t.bidRequest.bids[c]);n._each(a.params.pre_market_bids,function(t){t.deal_id==e.id&&(e.price=t.price,i.cur=t.currency)});var d={requestId:a.bidId,currency:i.cur||”USD”,cpm:e.price,creativeId:e.crid||””,dealId:e.dealid||””,ttl:360,netRevenue:!0,channel_id:i.id,cache_key:e.ext.cache_key,vastUrl:”https://search.spotxchange.com/ad/vast.html?key=”+e.ext.cache_key,videoCacheKey:e.ext.cache_key,mediaType:s.d,width:e.w,height:e.h};d.meta=d.meta||{},e&&e.adomain&&0e.length)&&(t=e.length);for(var r=0,n=new Array(t);rt?e:t}function d(e,t,n){!e.preload&&e.preloadThreshhold&&function(e,t,n,i){return t.top<=i+n&&u(e)}(t.target,t.rect,e.preloadThreshhold,n)&&(e.preload=!0,setTimeout(function(){e.trigger("preload",new r("preload",t))},15))}function c(n){var i=n.el.getBoundingClientRect(),o=t.innerHeight||e.documentElement.clientHeight,h=f(i,o),s=h/(i.height||o),l={target:n.el,rect:i,visiblePx:h,visiblePercent:s};!function(e,t){var n=t.visiblePx,i=t.visiblePercent;n&&i>=e.shownThreshold&&!e.seen?(e.seen=!0,setTimeout(function(){e.trigger(“shown”,new r(“shown”,t))},15)):(!n||i1&&(h+=e(r,Math.floor(n/o),i-1,o)),h},this.getVerticallyVisiblePixels=f,this.getViewportHeight=function(){return t.innerHeight||e.documentElement.clientHeight||e.body.clientHeight},this.getViewportWidth=function(){return t.innerWidth||e.documentElement.clientWidth||e.body.clientWidth},this.isElementNotHidden=u,this.isElementInViewport=function(n){var i=n.getBoundingClientRect();return i.top>=0&&i.left>=0&&i.bottom<=(t.innerHeight||e.documentElement.clientHeight)&&i.right<=(t.innerWidth||e.documentElement.clientWidth)},this.Visible=o}]); }, {}]; 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= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(“Invalid attempt to iterate non-iterable instance.nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.”); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }

function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === “string”) return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === “Object” && o.constructor) n = o.constructor.name; if (n === “Map” || n === “Set”) return Array.from(o); if (n === “Arguments” || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function mountLegacyServices() { Object.keys(window.modules).filter(function (key) { return typeof key === 'string' && key.match(/.legacy$/); }).forEach(function (key) { return window.require(key); }); } function tryToMount(fn, el, name) { try { fn(el); // init the controller } catch (e) { var elementTag = el.outerHTML.slice(0, el.outerHTML.indexOf(el.innerHTML)); console.error("Error initializing controller for "".concat(name, "" on "").concat(elementTag, """), e); } } /** * mount client.js component controllers */ function mountComponentModules() { Object.keys(window.modules).filter(function (key) { return typeof key === 'string' && key.match(/.client$/); }).forEach(function (key) { var controllerFn = window.require(key); if (typeof controllerFn === 'function') { var name = key.replace('.client"https://slate.com/,"'), instancesSelector = "[data-uri*="_components/".concat(name, "/"]"), defaultSelector = "[data-uri$="_components".concat(name, ""]"), instances = document.querySelectorAll(instancesSelector), defaults = document.querySelectorAll(defaultSelector); var _iterator = _createForOfIteratorHelper(instances), _step; try { for (_iterator.s(); !(_step = _iterator.n()).done;) { var el = _step.value; tryToMount(controllerFn, el, name); } } catch (err) { _iterator.e(err); } finally { _iterator.f(); } var _iterator2 = _createForOfIteratorHelper(defaults), _step2; try { for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { var _el = _step2.value; tryToMount(controllerFn, _el, name); } } catch (err) { _iterator2.e(err); } finally { _iterator2.f(); } } }); } // 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(); // ]]

Source Article