diff --git a/samoa-api/src/main/java/org/apache/samoa/learners/classifiers/trees/AttributeBatchContentEvent.java b/samoa-api/src/main/java/org/apache/samoa/learners/classifiers/trees/AttributeBatchContentEvent.java
index 8973de1..bbb6628 100644
--- a/samoa-api/src/main/java/org/apache/samoa/learners/classifiers/trees/AttributeBatchContentEvent.java
+++ b/samoa-api/src/main/java/org/apache/samoa/learners/classifiers/trees/AttributeBatchContentEvent.java
@@ -31,7 +31,7 @@
  * @author Arinto Murdopo
  * 
  */
-final class AttributeBatchContentEvent implements ContentEvent {
+public final class AttributeBatchContentEvent implements ContentEvent {
 
   private static final long serialVersionUID = 6652815649846676832L;
 
@@ -49,7 +49,7 @@
     isNominal = true;
   }
 
-  private AttributeBatchContentEvent(Builder builder) {
+  public AttributeBatchContentEvent(Builder builder) {
     this.learningNodeId = builder.learningNodeId;
     this.obsIndex = builder.obsIndex;
     this.contentEventList = new LinkedList<>();
@@ -96,7 +96,7 @@
     return this.isNominal;
   }
 
-  static final class Builder {
+  public static final class Builder {
 
     // required parameters
     private final long learningNodeId;
diff --git a/samoa-api/src/main/java/org/apache/samoa/learners/classifiers/trees/ControlContentEvent.java b/samoa-api/src/main/java/org/apache/samoa/learners/classifiers/trees/ControlContentEvent.java
index 18d5f06..2db3aee 100644
--- a/samoa-api/src/main/java/org/apache/samoa/learners/classifiers/trees/ControlContentEvent.java
+++ b/samoa-api/src/main/java/org/apache/samoa/learners/classifiers/trees/ControlContentEvent.java
@@ -28,7 +28,7 @@
  * @author Arinto Murdopo
  * 
  */
-abstract class ControlContentEvent implements ContentEvent {
+public abstract class ControlContentEvent implements ContentEvent {
 
   /**
 	 * 
diff --git a/samoa-api/src/main/java/org/apache/samoa/learners/classifiers/trees/DeleteContentEvent.java b/samoa-api/src/main/java/org/apache/samoa/learners/classifiers/trees/DeleteContentEvent.java
index a834f2f..51affd6 100644
--- a/samoa-api/src/main/java/org/apache/samoa/learners/classifiers/trees/DeleteContentEvent.java
+++ b/samoa-api/src/main/java/org/apache/samoa/learners/classifiers/trees/DeleteContentEvent.java
@@ -27,7 +27,7 @@
  * @author Arinto Murdopo
  * 
  */
-final class DeleteContentEvent extends ControlContentEvent {
+public final class DeleteContentEvent extends ControlContentEvent {
 
   private static final long serialVersionUID = -2105250722560863633L;
 
diff --git a/samoa-api/src/main/java/org/apache/samoa/learners/classifiers/trees/FilterProcessor.java b/samoa-api/src/main/java/org/apache/samoa/learners/classifiers/trees/FilterProcessor.java
index 83d54e4..dcb6fba 100644
--- a/samoa-api/src/main/java/org/apache/samoa/learners/classifiers/trees/FilterProcessor.java
+++ b/samoa-api/src/main/java/org/apache/samoa/learners/classifiers/trees/FilterProcessor.java
@@ -41,7 +41,7 @@
  * @author Arinto Murdopo
  * 
  */
-final class FilterProcessor implements Processor {
+public final class FilterProcessor implements Processor {
 
   private static final long serialVersionUID = -1685875718300564885L;
   private static final Logger logger = LoggerFactory.getLogger(FilterProcessor.class);
diff --git a/samoa-api/src/main/java/org/apache/samoa/learners/classifiers/trees/FoundNode.java b/samoa-api/src/main/java/org/apache/samoa/learners/classifiers/trees/FoundNode.java
index eba1441..61d9b19 100644
--- a/samoa-api/src/main/java/org/apache/samoa/learners/classifiers/trees/FoundNode.java
+++ b/samoa-api/src/main/java/org/apache/samoa/learners/classifiers/trees/FoundNode.java
@@ -27,7 +27,7 @@
  * @author Arinto Murdopo
  * 
  */
-final class FoundNode implements java.io.Serializable {
+public final class FoundNode implements java.io.Serializable {
 
   /**
 	 * 
diff --git a/samoa-api/src/main/java/org/apache/samoa/learners/classifiers/trees/InactiveLearningNode.java b/samoa-api/src/main/java/org/apache/samoa/learners/classifiers/trees/InactiveLearningNode.java
index e4df577..1e38377 100644
--- a/samoa-api/src/main/java/org/apache/samoa/learners/classifiers/trees/InactiveLearningNode.java
+++ b/samoa-api/src/main/java/org/apache/samoa/learners/classifiers/trees/InactiveLearningNode.java
@@ -29,7 +29,7 @@
  * @author Arinto Murdopo
  * 
  */
-final class InactiveLearningNode extends LearningNode {
+public final class InactiveLearningNode extends LearningNode {
 
   /**
 	 * 
diff --git a/samoa-api/src/main/java/org/apache/samoa/learners/classifiers/trees/LearningNode.java b/samoa-api/src/main/java/org/apache/samoa/learners/classifiers/trees/LearningNode.java
index 9b0480c..f7f7826 100644
--- a/samoa-api/src/main/java/org/apache/samoa/learners/classifiers/trees/LearningNode.java
+++ b/samoa-api/src/main/java/org/apache/samoa/learners/classifiers/trees/LearningNode.java
@@ -28,7 +28,7 @@
  * @author Arinto Murdopo
  * 
  */
-abstract class LearningNode extends Node {
+public abstract class LearningNode extends Node {
 
   private static final long serialVersionUID = 7157319356146764960L;
 
diff --git a/samoa-api/src/main/java/org/apache/samoa/learners/classifiers/trees/LocalResultContentEvent.java b/samoa-api/src/main/java/org/apache/samoa/learners/classifiers/trees/LocalResultContentEvent.java
index fc9f39c..485ac75 100644
--- a/samoa-api/src/main/java/org/apache/samoa/learners/classifiers/trees/LocalResultContentEvent.java
+++ b/samoa-api/src/main/java/org/apache/samoa/learners/classifiers/trees/LocalResultContentEvent.java
@@ -30,7 +30,7 @@
  * @author Arinto Murdopo
  * 
  */
-final class LocalResultContentEvent implements ContentEvent {
+public final class LocalResultContentEvent implements ContentEvent {
 
   private static final long serialVersionUID = -4206620993777418571L;
 
diff --git a/samoa-api/src/main/java/org/apache/samoa/learners/classifiers/trees/LocalStatisticsProcessor.java b/samoa-api/src/main/java/org/apache/samoa/learners/classifiers/trees/LocalStatisticsProcessor.java
index 7ce46ec..6e7c174 100644
--- a/samoa-api/src/main/java/org/apache/samoa/learners/classifiers/trees/LocalStatisticsProcessor.java
+++ b/samoa-api/src/main/java/org/apache/samoa/learners/classifiers/trees/LocalStatisticsProcessor.java
@@ -47,7 +47,7 @@
  * @author Arinto Murdopo
  * 
  */
-final class LocalStatisticsProcessor implements Processor {
+public final class LocalStatisticsProcessor implements Processor {
 
   /**
 	 * 
diff --git a/samoa-api/src/main/java/org/apache/samoa/learners/classifiers/trees/ModelAggregatorProcessor.java b/samoa-api/src/main/java/org/apache/samoa/learners/classifiers/trees/ModelAggregatorProcessor.java
index a9fa5bc..a4f6fe1 100644
--- a/samoa-api/src/main/java/org/apache/samoa/learners/classifiers/trees/ModelAggregatorProcessor.java
+++ b/samoa-api/src/main/java/org/apache/samoa/learners/classifiers/trees/ModelAggregatorProcessor.java
@@ -64,7 +64,7 @@
  * @author Arinto Murdopo
  * 
  */
-final class ModelAggregatorProcessor implements Processor {
+public final class ModelAggregatorProcessor implements Processor {
 
   private static final long serialVersionUID = -1685875718300564886L;
   private static final Logger logger = LoggerFactory.getLogger(ModelAggregatorProcessor.class);
