 
 class RouteDiagramElement: NSObject {
 
-    var stopLabel: UILabel = UILabel()
+    var stopLabel: UILabel
     var travelDistanceLabel: UILabel?
-    var stayOnBusLabel: UILabel?
-    
-    var stopDot: Circle = Circle(size: .small, color: .tcatBlueColor, style: .solid)
+    
+    var stopDot: Circle
     var icon: UIView?
+    var stayOnBusCoverUpView: UIView?
     var routeLine: RouteLine?
+    
+    init(stopLabel: UILabel, stopDot: Circle, icon: UIView?, routeLine: RouteLine?) {
+        self.stopLabel = stopLabel
+        self.stopDot = stopDot
+        self.icon = icon
+        self.routeLine = routeLine
+    }
     
 }
 

               let icon = routeDiagramElements[i].icon {
                positionIcon(icon, usingRouteLine: routeLine)
            }

        }
        

    private func positionBusIcon(_ busIcon: BusIcon, usingRouteLine routeLine: RouteLine) {
        busIcon.center.x = busIconLeftSpaceFromSuperview + (busIcon.frame.width/2)
        busIcon.center.y = routeLine.center.y
    }
    
    private func positionStayOnBusCoverUpView(_ stayOnBusCoverUpView: UIView, usingStopDot stopDot: Circle) {
        stayOnBusCoverUpView.center.x = busIconLeftSpaceFromSuperview + (stayOnBusCoverUpView.frame.width/2)
        stayOnBusCoverUpView.center.y = stopDot.center.y
    }
    
    private func positionWalkWithDistanceIcon(_ walkWithDistanceIcon: WalkWithDistanceIcon, usingRouteLine routeLine: RouteLine, usingNextIcon nextIcon: UIView?) {
