Refactor Lesson class to be more coherent