For a while there, it looked like the How To Get Away With Murder Season 3 finale would end exactly the same way Season 2's finale did: With a Mahoney man gunned down in the street. But things didn't exactly turn out that way. So is HTGAWM's Charles Mahoney innocent after all? Or is he still involved in Wes' murder somehow? The two-hour finale packed so many twists and turns, it's completely understandable if you're feeling a bit fuzzy on that particular plot point.
Ever since it was revealed that the body under the sheet belonged to "the puppy," aka Wes Gibbins, the Mahoney family has been the prime suspect — both among the characters and the audience — in his murder. After all, it was Wes' (false) testimony that sent Charles Mahoney to prison for the murder of his father, Wallace, who was gunned down in the street at the end of the Season 2 finale. Of course, we know that shooting was really perpetrated by Frank… so it stood to reason that Charles and his mother Sylvia would enact vengeance against Wes for lying, especially after they conducted a paternity test that presumably revealed the truth: That Wallace was Wes' biological father.
Well, not so fast… One of the many twists of the Season 3 finale was Sylvia's revelation of the true results of that paternity test. It turns out that Wes wasn't Wallace's son at all — he was Charles', which means that he wasn't the illegitimate child of Sylvia's philandering husband, he was her own son's offspring. Sylvia insisted that she never would have done anything to harm her own flesh-and-blood, and Annalise believed her. So that's the Mahoneys off the hook for Wes' murder, right?
The finale's other twists seemed to confirm the family's innocence. First we were led to believe that District Attorney Denver was behind Wes' murder and the subsequent framing of Annalise. The burner phone that A.D.A. Atwood called on the day Wes' body disappeared belonged to Denver, so he definitely helped cover up evidence in the case — and later he was seen receiving Wes' cell phone from the same goon who murdered the law student and set Annalise's house on fire.
But the episode's final twist revealed that Denver wasn't the one who gave the orders to kill Wes at all. The night of the murder, the killer received his orders from none other than Laurel's father, Jorge Castillo. In fact, when Laurel later ran into Wes' murderer on the street (thankfully foiling her attempt to shoot Charles Mahoney), she introduced him to Michaela and Asher as a family friend named Dominic. Although Laurel's father may have been the one directly responsible for her boyfriend's death, it's clear that both he and Denver are involved in the conspiracy somehow, since Dominic was seen interacting with both men.
All of that — from Wes' true parentage to Denver's frame job to Mr. Castillo's involvement — pretty much exonerates Charles Mahoney of wrongdoing, right? Not necessarily. Sylvia may insist that she never intended any harm to befall her grandchild, but that same sentiment doesn't automatically extend to her son. We already know Charles is pretty much a sociopath who raped Wes' mother and was on trial for killing his girlfriend when we first met him; he didn't seem to carry any sort of feeling for his secret son, and it wouldn't surprise me to learn that he was still involved in this tangled web in some way.
We already know that at least two men — Denver and Castillo — were involved in Wes' death. Is it so much of a stretch to imagine that Charles was involved in some way as well? Given Sylvia's implication that Annalise doesn't know the half of what's going on with the Mahoneys, as well as Laurel's quest for vengeance (which is unlikely to be permanently deterred by Dominic's sudden appearance), it's clear that HTGAWM isn't done with Charles Mahoney just yet. He may not have killed Wes himself, but there's no doubt the character is harboring plenty of other secrets that will be revealed in Season 4.