Yo lo haría así (siguiendo tu ejemplo):
Código PHP:
Ver originalclass Usuario {
public function __construct() {
}
public function saveUsuario(){
}
public function asignarPass(){
}
public fuction reportarNuevoUsuario(){
}
public static function listarUsuariosEnMora(){
}
public static function listarUsuariosDeudasDia($dia){
}
public static function asignarNoStatusUsuariosPremium($status){
}
}
Es decir, los métodos que son del usuario (singular) pertenecen al
Objeto Usuario, y los que corresponden a todos los objetos usuarios son de la
Clase que les dio la instancia. Por eso el static.
La idea es que los métodos listar retornen un array de Usuarios (instancias de la misma clase), aunque depende de tus necesidades (ésto último puede requerir muchos recursos).