$altState->setState('alt'); echo "Success!\n"; echo " Fire Old Publisher ('alt') -> \n"; $newPublisher->setStateObject($altState); echo " Fire Alternate Publisher ('alt') -> \n"; $altPublisher->setStateObject($altState); } catch (\Exception $e) { $success = false; } if (!$success) { echo "EXCEPTION RAISED\n\n"; } echo " detach observer from old publisher -> "; $success = true; try { $newPublisher->detachListener($newObserver); } catch (\Exception $e) { $success = false; } if ($success) { echo "Success!\n"; } else { echo "Failure...\n"; } echo " detach observer from old publisher again (fail) -> "; $fail = true; try { $newPublisher->detachListener($newObserver); $fail = false; } catch (\Exception $e) { }