```ruby
def self.unread_privates?(user)
  completely_unread_private_topics_exist || latest_private_topic_date_newer_than_last_read
end
```

HOW ABOUT THAT SHIT?! This throws a whole lot of the onus in private instance methods but I think that's worthwhile. It's easier to figure out the work being done in those methods with names like that.