Topic by topic, hour by hour, convicted ex-lawyer Michael Cohen's testimony on Wednesday reinforced much of what we see and hear about the conduct of President Donald Trump.
At one point a skeptical Rep. Justin Amash (R-Mich.) questioned Cohen on his assertion that he previously lied to Congress because that was what Trump wanted.
The star witness told of how the real-estate heir communicates.
"He doesn't give you questions," Cohen said. "He doesn't give you orders. He speaks in a code. And I understand the code, because I’ve been around him for a decade.”
So when Trump told everyone with a straight face he had no dealings in Russia, that was understood to be the false message Cohen should carry — even with the Trump Organiztion at that moment pursuing a Moscow hotel deal.
"Frankly," Rep. John Sarbanes (D-Md.) soon remarked, "a lot of behavior you've described is very consistent with what we all see every single day."
At another point the disbarred attorney said Trump doesn't threaten people face-to-face. "No, he will use others," said Cohen, who's headed to jail for lying to Congress and for financial crimes.
When Trump said during the campaign he could shoot someone on Fifth Avenue without losing voters, he wasn't joking, Cohen said. "He's telling you the truth. You don't know him, I do."
The president's nasty Twitter attacks on Cohen and relatives go out to "60 million followers" and make him fearful of someone striking out against him, the flipped witness testified. The most threatening social-media messages he received were turned over to Secret Service, he said.
"What's he thinking is going to happen?" Cohen asked rhetorically.
He spoke of Trump's racial attitude.
"While we were once driving through a struggling neighborhood in Chicago, he commented that only black people could live that way,” Cohen said. “And he told me that black people would never vote for him because they were too stupid.”
Is anyone surprised to hear that?
"Everyone's job in the Trump organization was to protect Mr. Trump," Cohen declared.
As if proving the point, Lynne Patton made an appearance at the House Oversight and Reform Committee hearing.
She was a event planner in the Trump organization picked as federal housing administrator for the region. Trump ally Rep. Mark Meadows introduced her as she hovered near him.
Meadows (R-N.C.) said of Patton, who is African-American: “She says that as a daughter born of a man from Birmingham, Alabama, that there is no way that she would work for an individual who was racist."
Meadows and other Republicans on the committee hammered away at the fact that Cohen has been convicted of things he, as an attorney, should have known were illegal and unethical. Rep. Jim Jordan (R-Ohio) ripped Cohen's flip for prosecutors as sour grapes because he didn't land a leading post in the new administration. Cohen denied it.
But painting Cohen as sleazy and evasive, which was easy enough to do, did nothing to suggest he was embellishing his seasoned knowledge of Trump-insider conduct.
In fact, Cohen knocked down several of the most pungent anti-Trump rumors that have circulated — such as the lawyer allegedly traveling to Prague to cut a deal with Russians.
In 2013 Trump publicly feigned a lack of familiarity with convicted Russian-American businessman Felix Sater, who had an office near the boss on Trump Tower's 26th floor.
"That's what Mr. Trump does," Cohen said. "He distances himself when things go bad for someone."
It also came off as plausible when Cohen said he heard self-described dirty-trickster Roger Stone tell Trump on speaker phone he had just talked with fugitive WikiLeaks founder Julian Assange.
Stone purportedly told Trump that hacked Democratic National Committee emails would soon be posted online.
But plausibility is not proof — and Stone and Assange on Wednesday denied speaking with each other. That would be left to special counsel Robert Mueller to explore.
Overall, Cohen sounded as if he was describing his former patron as the very Trump the public has come to know.