Status_effect handles its own duration decrementing.  When you add duration to a Status_effect, it boosts its level, and remembers when it should step the level down in the future.