diff --git a/plugins/org.polarsys.chess.checkers/src/org/polarsys/chess/checkers/core/impl/StateStatus.java b/plugins/org.polarsys.chess.checkers/src/org/polarsys/chess/checkers/core/impl/StateStatus.java
index ae751ed..e7c0204 100644
--- a/plugins/org.polarsys.chess.checkers/src/org/polarsys/chess/checkers/core/impl/StateStatus.java
+++ b/plugins/org.polarsys.chess.checkers/src/org/polarsys/chess/checkers/core/impl/StateStatus.java
@@ -30,7 +30,7 @@
  */
 public class StateStatus extends Checker {
 	private Package systemViewPackage;
-	private static final Logger logger = Logger.getLogger(StateStatus.class);
+	protected static final Logger logger = Logger.getLogger(StateStatus.class);
 	private final EntityUtil entityUtil = EntityUtil.getInstance();
 	private static final String checkerName = "StateStatus";
 
@@ -49,6 +49,23 @@
 		super(checkerName, getTags(), priority);
 	}
 
+	/**
+	 * Constructor with explicit tags.
+	 * @param tags the tags identifying this checker
+	 */
+	public StateStatus(Set<String> tags) {
+		super(checkerName, tags);
+	}
+
+	/**
+	 * Constructor with explicit tags and priority.
+	 * @param tags the tags identifying this checker
+	 * @param priority the priority
+	 */
+	public StateStatus(Set<String> tags, int priority) {
+		super(checkerName, tags, priority);
+	}
+
 	private static Set<String> getTags() {
 		Set<String> tags = new HashSet<String>();
 		tags.add("fast");
@@ -94,7 +111,7 @@
 	 * @param block
 	 * @return list of errors
 	 */
-	private List<CheckerMessage> checkForDeadStates(Class block) {
+	protected List<CheckerMessage> checkForDeadStates(Class block) {
 		List<CheckerMessage> errors = new ArrayList<CheckerMessage>();
 		
 		final Set<StateMachine> stateMachines = entityUtil.getNominalStateMachines(block);
