Yes, to add to this:
Users have their service nodes running and their stake locked for X days (say 30 for this example). They can be ‘pinged’ or equivalent any given time – the reason for this would be to check for uptime.
If they get pinged and they are not online/active, they’re frozen. What that means is the owner cannot withdraw their stake, nor are they receiving rewards. After X days is over (say they started on Apr 1 --> 30 days later say April 30th) they can retrieve their ENG and either re-stake or take them offline.
Why I like this:
Freezing>Slashing is a better experience for stakers, especially good-faith ones who potentially may have just messed up their uptime. It is similar in the sense missing the opportunity cost of getting rewards would be akin to being slashed, but psychologically I think people are more in agreement ("I messed up, it makes sense I don’t get rewards).
I’ve seen this work in the wild, and work well on a small project called ‘Loki’ (A small fork of Monero) where stakers operate under these conditions. It’s been well received and everyone seems to enjoy it. FWIW after 30 days assuming your node operates honestly you would get your 25,000 ENG + whatever reward you received during the last time period and then you would either re-stake or do what you want with it!