                     continue
                 }
                 if isGuide {
-                    NSColor.cyanColor().setFill()
-                    NSColor.cyanColor().set()
+                    CGContextSetRGBFillColor(context, 0, 0.9, 0.9, 1.0)
+                    CGContextSetRGBStrokeColor(context, 0, 0.9, 0.9, 1.0)
                 } else if isCurrent {
-                    NSColor.blueColor().setFill()
-                    NSColor.blueColor().set()
+                    CGContextSetRGBFillColor(context, 0.1, 0.5, 0.9, 1.0)
+                    CGContextSetRGBStrokeColor(context, 0.1, 0.5, 0.9, 1.0)
                 } else {
-                    NSColor.grayColor().setFill()
-                    NSColor.grayColor().set()
+                    CGContextSetRGBFillColor(context, 0.5,0.5,0.5,1)
+                    CGContextSetRGBStrokeColor(context, 0.5,0.5,0.5,1)
                 }
 
                 path.draw(context)


    func imageFor(key: InstructionNodeKey) -> NSImage {
        guard let image = snapshots[key] else {
            let image = NSImage(size: NSSize(width: CGFloat(currentScaled.0), height: CGFloat(currentScaled.1)))
            snapshots[key] = image
            return image
        }

final public class SnapshotCollector : RuntimeListener {

    private let maxSize : (Int, Int)
    private var currentSize : (Double, Double) = (0,0)
    private var currentScaled : (Double, Double) = (0,0)
    private(set) var snapshots = [InstructionNodeKey:NSImage]()
    private(set) var instructions = Set<InstructionNodeKey>()
