in reply to Moose: mutualy exclusive bolean attributes.
There is also nothing on the _status attribute to prevent something accessing it directly and setting it to an invalid value
That shouldn't be a consideration because you'll never be able to prevent someone from going around the normal process. For example,
$obj->{'_status'} = 'junk';
|
|---|