anchor.diff:          int x,y;
           double diff;
           for (ObservatorySession session in sessions.values) {
  -           // print("doing a thing to $session with ${session.x} and ${gridsize} and ${session.model_offset_x} and ${camx}");
               x = ((session.x + 0.5) * gridsize).floor() + session.model_offset_x - this.camx;
               y = ((session.y + 0.5) * gridsize).floor() + session.model_offset_y - this.camy;
   
  
positive.code: 
      ObservatorySession(ObservatoryViewer this.parent, int this.seed, int this.x, int this.y) {
          this.rand = new Random(seed);
      }
  
      //JR: needed for the non callback paradigm
      Future<Null> init() async {
          this.session = await parent.getSession(seed);
  
  
          this.initial_rotation = rand.nextDouble(Math.PI * 2);
          this.rotation_speed = rand.nextDouble() * (max_rotation - min_rotation) + min_rotation;
  
negative.code: 
          //
  
          this.updateSessions();
          this.setURL();
  
          ObservatorySession nearest = this.findDetailSession();
  