     }
 }
 
-// MARK: - ContextAwareContainer
-
-public protocol ContextAwareContainer {
-
-    var childObjects: [Any] { get }
-}
-
-extension UIViewController: ContextAwareContainer {
-
-    public var childObjects: [Any] {
+// MARK: - ContextNodeContainer
+
+public protocol ContextNodeContainer {
+
+    var childContextObjects: [Any] { get }
+}
+
+extension UIViewController: ContextNodeContainer {
+
+    public var childContextObjects: [Any] {
         return self.childViewControllers.map({ $0 })
     }
 }
 
-extension UIView: ContextAwareContainer {
-
-    public var childObjects: [Any] {
+extension UIView: ContextNodeContainer {
+
+    public var childContextObjects: [Any] {
         return self.subviews.map({ $0 })
     }
 }

extension UIViewController: ContextPreloadable {

    public func contextPreload() {
        guard let contextAware = self as? ContextAware, contextAware.contextToken == nil else { return }
        self.loadViewIfNeeded()
    }
}

extension UIView: ContextPreloadable {

    public func contextPreload() {
        guard let contextNode = self as? ContextNode, contextNode.contextToken == nil else { return }
        guard let inflatable = self as? UINibViewInflatable else { return }
        let view = inflatable.inflateView()
        self.addAndConstrain(view)
