diff --git a/Base/Collision/imstkInteractionPair.cpp b/Base/Collision/imstkInteractionPair.cpp
index 4abefef7546d6532e1fce656b718c87b96e7dbe7..f58d7a0c24b37b12f59b77dd538dd1b5348bb56c 100644
--- a/Base/Collision/imstkInteractionPair.cpp
+++ b/Base/Collision/imstkInteractionPair.cpp
@@ -132,4 +132,21 @@ InteractionPair::getObjectsPair() const
     return m_objects;
 }
 
+std::shared_ptr<CollisionDetection>
+InteractionPair::getCollisionDetection() const
+{
+    return m_colDetect;
+}
+
+std::shared_ptr<CollisionHandling>
+InteractionPair::getCollisionHandlingA() const
+{
+    return m_colHandlingA;
+}
+
+std::shared_ptr<CollisionHandling>
+InteractionPair::getCollisionHandlingB() const
+{
+    return m_colHandlingB;
+}
 }
diff --git a/Base/Collision/imstkInteractionPair.h b/Base/Collision/imstkInteractionPair.h
index e7a4d82a3c1e59ac17b51da9304fd0cd6e21fd7a..77418fc4e16b6d2302dfa12b230d5edea861f744 100644
--- a/Base/Collision/imstkInteractionPair.h
+++ b/Base/Collision/imstkInteractionPair.h
@@ -80,6 +80,21 @@ public:
     ///
     const ObjectsPair& getObjectsPair() const;
 
+    ///
+    /// \brief Returns collision detection algorithm for A-B
+    ///
+    std::shared_ptr<CollisionDetection> getCollisionDetection() const;
+
+    ///
+    /// \brief Returns collision handling algorithm for object B
+    ///
+    std::shared_ptr<CollisionHandling> getCollisionHandlingA() const;
+
+    ///
+    /// \brief Returns collision handling algorithm for object A
+    ///
+    std::shared_ptr<CollisionHandling> getCollisionHandlingB() const;
+
 protected:
 
     ObjectsPair m_objects;                             ///< Colliding objects
diff --git a/Base/Scene/imstkCollisionGraph.cpp b/Base/Scene/imstkCollisionGraph.cpp
index 222d469df41c5c5b7dc3413a23aa14089c778fc2..99e3d3eb6fe22accb3cbc891562b92a25b898311 100644
--- a/Base/Scene/imstkCollisionGraph.cpp
+++ b/Base/Scene/imstkCollisionGraph.cpp
@@ -62,6 +62,7 @@ CollisionGraph::addInteractionPair(CollidingObjectPtr A,
     return intPair;
 }
 
+//TODO: Refactor -> PBD only
 void CollisionGraph::addInteractionPair(std::shared_ptr<PbdInteractionPair> pair)
 {
     m_interactionPbdPairList.push_back(pair);
diff --git a/Base/Scene/imstkCollisionGraph.h b/Base/Scene/imstkCollisionGraph.h
index 55263f4ff13fc33d7be969a091320ff49f911ce1..e2f4d5b3086a9924c9401095c3f34324cbb3d073 100644
--- a/Base/Scene/imstkCollisionGraph.h
+++ b/Base/Scene/imstkCollisionGraph.h
@@ -66,6 +66,7 @@ public:
                                           CollisionHandling::Type CHAType,
                                           CollisionHandling::Type CHBType);
 
+    //TODO: Refactor -> PBD only
     void addInteractionPair(std::shared_ptr<PbdInteractionPair> pair);
 
     ///
@@ -92,7 +93,7 @@ public:
     const std::unordered_map<CollidingObjectPtr, std::vector<InteractionPairPtr>>& getInteractionPairMap() const;
 
 protected:
-    std::vector<std::shared_ptr<PbdInteractionPair>> m_interactionPbdPairList;
+    std::vector<std::shared_ptr<PbdInteractionPair>> m_interactionPbdPairList; //TODO: Refactor -> PBD only
 
     std::vector<InteractionPairPtr> m_interactionPairList; //!< All interaction pairs in the collision graph
     std::unordered_map<CollidingObjectPtr, std::vector<InteractionPairPtr>> m_interactionPairMap; //!< Map of interaction pairs per colliding object