LessonBookmark
represents a bookmark. While the underlying data structure is a tuple, it makes it easy to abstract most of the logic we need and therefore allow the code to be more readable.