Separate out the lesson logic