On Monday night, New York City Mayor Bill de Blasio stood on the stage of the legendary Apollo Theater in Harlem, and delivered his third State of the City address—the last before he runs for reelection this November. As on so many other big nights for the mayor, those who support him and those who don’t will light upon the same reasons, spun different ways, for their vastly different sentiments.

De Blasio, for instance, is never shy about expressing his deep affection for his wife, Chirlane McCray. Some of us think the professions d’amour are cute, but others could do without.

His rhetoric trudges rather than rolls, waylaid by gaping pauses and the circuitous structure that comes from winging it. That lack of showmanship is endearing. Or not.

And then there’s the big one: that the mayor is still talking about the housing-affordability crisis that got him elected nearly four years ago. Some will fault him for not having solved that crisis yet, or for milking for political gain an emergency he knew he would be incapable of ending as mayor, or for adopting policies that failed to truly address the problem.

There’s merit to some of that skepticism, but it’s not as important as this truth: Housing affordability and income inequality are the most dire threats facing New York City, and a good mayor cannot help but at least try to wrestle that monster, even if it takes more than three years—and even if it takes a change in attack.

De Blasio has focused since taking office on trying to create and regulate housing so as to reduce the pressures on rent. On Monday night, however, he devoted the bulk of his speech to a sweeping promise to address the income side of that affordability crisis.

“We understand that the affordability crisis is a fundamental and a profound problem. It’s deep, but it’s not complicated. The math is real simple: Housing costs kept rising and rising, but incomes didn’t,” the mayor said, noting that from 1990 to 2014 the average rent in New York City increased 22 percent, adjusted for inflation, while over an even longer span real wages rose only 1 percent. “That’s what went wrong. That’s why people are struggling.”

He pointed to steps he’s taken to address that struggle: paid sick leave, support for a higher minimum wage, a two-year freeze on rents in rent-stabilized housing and—in just the past few days—announcing that he’d tilt his housing-development plan more toward lower incomes and pay for every tenant facing eviction to eventually have counsel in housing court. But he added: “We have to go even farther. Everything we’ve been doing so far is necessary. I believe it’s right, but I believe it’s not sufficient.”

“We have to now focus on the other half of the equation. We have to drive up incomes, and that means actually helping people to get the kind of jobs that allow you to afford to live in New York City,” he added. He defined a “good paying” job as one that was permanent, with a salary of $50,000 or greater, and said he wanted to create 100,000 such jobs over 10 years.

On how we’ll get there, the mayor was short on specifics. He mentioned the burgeoning film and TV sector, tech jobs, life sciences, and advanced manufacturing, and pointed to a handful of major business-development projects that will boost those very industries. But he presented no comprehensive plan.

It was also unclear how to understand the mayor’s goal in the context of the city’s recent economic performance. In July, the city boasted that since de Blasio took office in 2014 the city had added 283,500 private-sector jobs. That’s nearly three times de Blasio’s new, 10-year jobs target in less than a third of the time. The more relevant question is how many “good” jobs have been generated. In 2016 alone, the city added 85,000 private-sector jobs. About half those jobs were what the city comptroller calls “low wage,” with an average annual salary of $42,000. Still, roughly 30,000 were considered “medium-wage,” where the annual pay averaged $75,000—right in the sweet spot of what de Blasio wants to create.

The speech raised other questions. De Blasio opted not to talk about homelessness last night; he promised to address that massive problem in a different setting in coming days, along with opioid addiction and growing urban congestion. Some other big topics, like the next phase of police reform, also received cursory treatment.

But give him credit for not doing what many expected him to do in what was effectively his reelection campaign kick-off: rail against the increasingly frightening target of President Donald Trump. The mayor certainly spent time dissing the POTUS. Some of the best lines of the speech, particularly toward the end, celebrated the city’s values in opposing the travel ban and other measures from the first three weeks of Trump’s America. But the bulk of the talk was about the mayor’s jobs goal.

That goal will be dissected in the next few days. When it comes to the details of his plan to reach it, de Blasio does have nearly nine months between now and Election Day in which to fill in the gaps. Let’s hope he does—because turning the policy conversation in New York City from designing government programs to fill the gap between housing costs and wages toward a policy that focuses on creating and defending decent wages could be a very big deal.

De Blasio didn’t sketch out a map Monday night, but he at least set a new heading.