i think this sounds like a good idea.
another thing that works (maybe not so much for elementary) is
having a "scoreboard" ... if the students act up or behave badly, the teacher gets a point. if the students do a good job, the class receives a point. at the end of class, if the students have more points than the teacher, they can go or you can reward them (for consecutive "good" classes at the end of the week or so). if the teacher has more points however, you can make the students sit for an extra minute or minutes after class, or have them write sentences (1 point = write the sentence 5 times) ...