Pues no hay "problema"  
 
 
..... pues eso se maneja a nivel de instancias (objetos) asi que cada instancia tiene su propio "estado interno"    
Código PHP:
Ver original- <?php 
-   
- Class Problema  
-   
- { 
-     // defino los estados explitamente como constantes: 
-     const deleted=-1; 
-     const pending= 0; 
-     const soluto = 1; 
-     const paused = 2; 
-   
-     private $estado = self::pending; 
-     private $nombre = null; 
-   
-     public function __construct ($nombre_problema){    
-         $this->nombre = $nombre_problema; 
-     // .... 
-     return $this; 
-     } 
-   
-     public function setEstado($estado) 
-     { 
-         $this->estado=$estado; 
-         return $this; 
-     }  
-   
-     public function getEstado() 
-     { 
-         return $this->estado; 
-     } 
-     // otros metodos 
- } 
-   
- $p1 = (new Problema('casarme'))->setEstado(-1); 
- $p2 = (new Problema('mantener hipoteca'))->setEstado(2); 
-   
- echo "Estado de Problema #1 : {$p1->getEstado()} <br/>"; 
- echo "Estado de Problema #2 : {$p2->getEstado()}"; 
Te aconsejo que en el setter de estado agregues un chequeo de que se encuentre entre los estados posibles, en este caso en el rango de -1 a 2 y sino cumple generes una 
InvalidArgumentException 
Otra cosa: si tu extienderas la clase Problema... para sus hijos es la misma cosa...  (aclaro porque no se tu que entiendes)