I have abandoned the main idea . Later I explain the reasons. My plan was to set all the grammar lessons as assignments in an "on line class" set up for just this purpose. There could be 50 concurrent logins. So problem one would be to delete all the students for the next session needs 100 mouse clicks. In my tests I got up to 15 students and 15 assignments. So before the students login in they see the last/current 6 EF-Class lessons shown at the bottom of the screen. Plus they can filter, on the drop down list, more lessons. In a language school a student could have perhaps 8 different teachers over the 12 weeks they are here. Often 3 teachers in one week. Once the student enters this new on-line class it has 15 lessons that will fill all the top 15 places. If 30 lessons then 30 etc.... So now to find any more than the 6 that show at the bottom of the screen you have to use the filter from the drop down. With all the students doing this you get, for most , a wait cursor. Eventually some students will load. However if later they then want to do a lesson for another teacher it is a long way down the list.
What does work is a variation. In a mixed ability class load 4-6 different ability/subject grammar assignments before the session begins. Tell the students to go into pairs or small groups of similar level. They then discuss and decide what assignment(s) they want to do. The 6 recent lessons, which include these new ones, show at the bottom. They do the lesson on their own iPad/PC but check and discuss amongst themselves. Teacher can still support.