Anger and impatience are really going to be testing you now. Look at it that way too. As a test. A period of growth or a chance to continue to make that positive movement.
Your going to be feeling it a lot right now. Let it out, but do it WAY AWAY from him. Run, Smack that tennis ball like there is no tomorrow, do something just DO NOT go on the offensive towards him. He may "test" you too. To see where your head and your heart truly are with him. He wants to see the changes are for real.
Feel these feelings and get them out. It's completely normal to feel this way after standing, DBing, and acting as if for so long. Now you see him starting to come around, and you want him to see things the way you have all along and all at once. Remember none of this happened in a day or week or months for that matter, so it's not going to turn that quickly either.
You said patience is a vurtue you don't naturally have. SO KEEP DOING WORK.
This is on his time table.
Use your anger and impatience to your advantage. As defense.....NEVER offense. Use it as YOUR motivation to keep improving, to keep passing these "tests".
Wanna test your patience? Invite five or six of your son's friends over for a sleep over and just go with the flow. LOL!
Be mindful over your interactions, make sure they stay in that positive place, and let him bring any R discussions up. He will when he is ready.