refactor lazy_expire_event into model