add model callback and percent_read function to ReadingLog Model