Reworked how idle/sleeping are working together.