Once your child has a consistent understanding that his words and actions can make someone feel bad, you can add more advanced lessons. Teach him why Leon feels bad when he is called an idiot.
Initially you will have to tell him, “Leon feels bad when you call him an idiot because it makes him think you don’t like him, that you think he is stupid, and that you don’t want to be his friend.” Asking him if this is how he meant to make Leon feel should result in a “no.” If by chance he says yes, you know that he is not ready yet to talk about it and that he and Leon need to be separated for a while. Revisit the issue later when he is calm.
The goal is for your child to eventually be able to state the effect his words have on others without having to rely on you to tell him. Expect this to take years, not months. Be sure to help him understand how his words and actions can also make others feel good.