{
  "type": "File",
  "start": 0,
  "end": 2430,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 105,
      "column": 1
    }
  },
  "program": {
    "type": "Program",
    "start": 0,
    "end": 2430,
    "loc": {
      "start": {
        "line": 1,
        "column": 0
      },
      "end": {
        "line": 105,
        "column": 1
      }
    },
    "sourceType": "module",
    "body": [
      {
        "type": "ImportDeclaration",
        "start": 0,
        "end": 61,
        "loc": {
          "start": {
            "line": 1,
            "column": 0
          },
          "end": {
            "line": 1,
            "column": 61
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 7,
            "end": 24,
            "loc": {
              "start": {
                "line": 1,
                "column": 7
              },
              "end": {
                "line": 1,
                "column": 24
              }
            },
            "local": {
              "type": "Identifier",
              "start": 7,
              "end": 24,
              "loc": {
                "start": {
                  "line": 1,
                  "column": 7
                },
                "end": {
                  "line": 1,
                  "column": 24
                },
                "identifierName": "UpdateableManager"
              },
              "name": "UpdateableManager"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 30,
          "end": 60,
          "loc": {
            "start": {
              "line": 1,
              "column": 30
            },
            "end": {
              "line": 1,
              "column": 60
            }
          },
          "extra": {
            "rawValue": "../manager/UpdateableManager",
            "raw": "'../manager/UpdateableManager'"
          },
          "value": "../manager/UpdateableManager"
        },
        "trailingComments": [
          {
            "type": "CommentBlock",
            "value": "*\n * Baseclass for objects that follow the same ECS pattern of the seed engine.\n * \n * Used in anything that should follow a create, update, end loop \n * handled by the Engine.\n * \n * Many things will need to update/start/end. If you derive something that\n * has the start()/update()/end()... functions, the children should fill in\n * their respective callbacks (onStart()/onUpdate()/onEnd()/...).\n ",
            "start": 63,
            "end": 466,
            "loc": {
              "start": {
                "line": 3,
                "column": 0
              },
              "end": {
                "line": 12,
                "column": 3
              }
            }
          }
        ]
      },
      {
        "type": "ExportDefaultDeclaration",
        "start": 467,
        "end": 2430,
        "loc": {
          "start": {
            "line": 13,
            "column": 0
          },
          "end": {
            "line": 105,
            "column": 1
          }
        },
        "declaration": {
          "type": "ClassDeclaration",
          "start": 482,
          "end": 2430,
          "loc": {
            "start": {
              "line": 13,
              "column": 15
            },
            "end": {
              "line": 105,
              "column": 1
            }
          },
          "id": {
            "type": "Identifier",
            "start": 488,
            "end": 498,
            "loc": {
              "start": {
                "line": 13,
                "column": 21
              },
              "end": {
                "line": 13,
                "column": 31
              },
              "identifierName": "Updateable"
            },
            "name": "Updateable",
            "leadingComments": null
          },
          "superClass": null,
          "body": {
            "type": "ClassBody",
            "start": 499,
            "end": 2430,
            "loc": {
              "start": {
                "line": 13,
                "column": 32
              },
              "end": {
                "line": 105,
                "column": 1
              }
            },
            "body": [
              {
                "type": "ClassMethod",
                "start": 505,
                "end": 683,
                "loc": {
                  "start": {
                    "line": 14,
                    "column": 4
                  },
                  "end": {
                    "line": 19,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 505,
                  "end": 516,
                  "loc": {
                    "start": {
                      "line": 14,
                      "column": 4
                    },
                    "end": {
                      "line": 14,
                      "column": 15
                    },
                    "identifierName": "constructor"
                  },
                  "name": "constructor"
                },
                "kind": "constructor",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 519,
                  "end": 683,
                  "loc": {
                    "start": {
                      "line": 14,
                      "column": 18
                    },
                    "end": {
                      "line": 19,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 529,
                      "end": 553,
                      "loc": {
                        "start": {
                          "line": 15,
                          "column": 8
                        },
                        "end": {
                          "line": 15,
                          "column": 32
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 529,
                        "end": 552,
                        "loc": {
                          "start": {
                            "line": 15,
                            "column": 8
                          },
                          "end": {
                            "line": 15,
                            "column": 31
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 529,
                          "end": 544,
                          "loc": {
                            "start": {
                              "line": 15,
                              "column": 8
                            },
                            "end": {
                              "line": 15,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 529,
                            "end": 533,
                            "loc": {
                              "start": {
                                "line": 15,
                                "column": 8
                              },
                              "end": {
                                "line": 15,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 534,
                            "end": 544,
                            "loc": {
                              "start": {
                                "line": 15,
                                "column": 13
                              },
                              "end": {
                                "line": 15,
                                "column": 23
                              },
                              "identifierName": "hasStarted"
                            },
                            "name": "hasStarted"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "BooleanLiteral",
                          "start": 547,
                          "end": 552,
                          "loc": {
                            "start": {
                              "line": 15,
                              "column": 26
                            },
                            "end": {
                              "line": 15,
                              "column": 31
                            }
                          },
                          "value": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 562,
                      "end": 585,
                      "loc": {
                        "start": {
                          "line": 16,
                          "column": 8
                        },
                        "end": {
                          "line": 16,
                          "column": 31
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 562,
                        "end": 584,
                        "loc": {
                          "start": {
                            "line": 16,
                            "column": 8
                          },
                          "end": {
                            "line": 16,
                            "column": 30
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 562,
                          "end": 576,
                          "loc": {
                            "start": {
                              "line": 16,
                              "column": 8
                            },
                            "end": {
                              "line": 16,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 562,
                            "end": 566,
                            "loc": {
                              "start": {
                                "line": 16,
                                "column": 8
                              },
                              "end": {
                                "line": 16,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 567,
                            "end": 576,
                            "loc": {
                              "start": {
                                "line": 16,
                                "column": 13
                              },
                              "end": {
                                "line": 16,
                                "column": 22
                              },
                              "identifierName": "hasPaused"
                            },
                            "name": "hasPaused"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "BooleanLiteral",
                          "start": 579,
                          "end": 584,
                          "loc": {
                            "start": {
                              "line": 16,
                              "column": 25
                            },
                            "end": {
                              "line": 16,
                              "column": 30
                            }
                          },
                          "value": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 594,
                      "end": 607,
                      "loc": {
                        "start": {
                          "line": 17,
                          "column": 8
                        },
                        "end": {
                          "line": 17,
                          "column": 21
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 594,
                        "end": 606,
                        "loc": {
                          "start": {
                            "line": 17,
                            "column": 8
                          },
                          "end": {
                            "line": 17,
                            "column": 20
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 594,
                          "end": 601,
                          "loc": {
                            "start": {
                              "line": 17,
                              "column": 8
                            },
                            "end": {
                              "line": 17,
                              "column": 15
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 594,
                            "end": 598,
                            "loc": {
                              "start": {
                                "line": 17,
                                "column": 8
                              },
                              "end": {
                                "line": 17,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 599,
                            "end": 601,
                            "loc": {
                              "start": {
                                "line": 17,
                                "column": 13
                              },
                              "end": {
                                "line": 17,
                                "column": 15
                              },
                              "identifierName": "id"
                            },
                            "name": "id"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "UnaryExpression",
                          "start": 604,
                          "end": 606,
                          "loc": {
                            "start": {
                              "line": 17,
                              "column": 18
                            },
                            "end": {
                              "line": 17,
                              "column": 20
                            }
                          },
                          "operator": "-",
                          "prefix": true,
                          "argument": {
                            "type": "NumericLiteral",
                            "start": 605,
                            "end": 606,
                            "loc": {
                              "start": {
                                "line": 17,
                                "column": 19
                              },
                              "end": {
                                "line": 17,
                                "column": 20
                              }
                            },
                            "extra": {
                              "rawValue": 1,
                              "raw": "1"
                            },
                            "value": 1
                          },
                          "extra": {
                            "parenthesizedArgument": false
                          }
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 616,
                      "end": 677,
                      "loc": {
                        "start": {
                          "line": 18,
                          "column": 8
                        },
                        "end": {
                          "line": 18,
                          "column": 69
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 616,
                        "end": 676,
                        "loc": {
                          "start": {
                            "line": 18,
                            "column": 8
                          },
                          "end": {
                            "line": 18,
                            "column": 68
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 616,
                          "end": 631,
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 8
                            },
                            "end": {
                              "line": 18,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 616,
                            "end": 620,
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 8
                              },
                              "end": {
                                "line": 18,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 621,
                            "end": 631,
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 13
                              },
                              "end": {
                                "line": 18,
                                "column": 23
                              },
                              "identifierName": "deregister"
                            },
                            "name": "deregister"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 634,
                          "end": 676,
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 26
                            },
                            "end": {
                              "line": 18,
                              "column": 68
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 634,
                            "end": 670,
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 26
                              },
                              "end": {
                                "line": 18,
                                "column": 62
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 634,
                              "end": 651,
                              "loc": {
                                "start": {
                                  "line": 18,
                                  "column": 26
                                },
                                "end": {
                                  "line": 18,
                                  "column": 43
                                },
                                "identifierName": "UpdateableManager"
                              },
                              "name": "UpdateableManager"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 652,
                              "end": 670,
                              "loc": {
                                "start": {
                                  "line": 18,
                                  "column": 44
                                },
                                "end": {
                                  "line": 18,
                                  "column": 62
                                },
                                "identifierName": "registerUpdateable"
                              },
                              "name": "registerUpdateable"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "ThisExpression",
                              "start": 671,
                              "end": 675,
                              "loc": {
                                "start": {
                                  "line": 18,
                                  "column": 63
                                },
                                "end": {
                                  "line": 18,
                                  "column": 67
                                }
                              }
                            }
                          ]
                        }
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Base call function for when this Updateable is to be started.\n     ",
                    "start": 689,
                    "end": 769,
                    "loc": {
                      "start": {
                        "line": 21,
                        "column": 4
                      },
                      "end": {
                        "line": 23,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 774,
                "end": 845,
                "loc": {
                  "start": {
                    "line": 24,
                    "column": 4
                  },
                  "end": {
                    "line": 27,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 774,
                  "end": 779,
                  "loc": {
                    "start": {
                      "line": 24,
                      "column": 4
                    },
                    "end": {
                      "line": 24,
                      "column": 9
                    },
                    "identifierName": "start"
                  },
                  "name": "start",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 782,
                  "end": 845,
                  "loc": {
                    "start": {
                      "line": 24,
                      "column": 12
                    },
                    "end": {
                      "line": 27,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 792,
                      "end": 807,
                      "loc": {
                        "start": {
                          "line": 25,
                          "column": 8
                        },
                        "end": {
                          "line": 25,
                          "column": 23
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 792,
                        "end": 806,
                        "loc": {
                          "start": {
                            "line": 25,
                            "column": 8
                          },
                          "end": {
                            "line": 25,
                            "column": 22
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 792,
                          "end": 804,
                          "loc": {
                            "start": {
                              "line": 25,
                              "column": 8
                            },
                            "end": {
                              "line": 25,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 792,
                            "end": 796,
                            "loc": {
                              "start": {
                                "line": 25,
                                "column": 8
                              },
                              "end": {
                                "line": 25,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 797,
                            "end": 804,
                            "loc": {
                              "start": {
                                "line": 25,
                                "column": 13
                              },
                              "end": {
                                "line": 25,
                                "column": 20
                              },
                              "identifierName": "onStart"
                            },
                            "name": "onStart"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 816,
                      "end": 839,
                      "loc": {
                        "start": {
                          "line": 26,
                          "column": 8
                        },
                        "end": {
                          "line": 26,
                          "column": 31
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 816,
                        "end": 838,
                        "loc": {
                          "start": {
                            "line": 26,
                            "column": 8
                          },
                          "end": {
                            "line": 26,
                            "column": 30
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 816,
                          "end": 831,
                          "loc": {
                            "start": {
                              "line": 26,
                              "column": 8
                            },
                            "end": {
                              "line": 26,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 816,
                            "end": 820,
                            "loc": {
                              "start": {
                                "line": 26,
                                "column": 8
                              },
                              "end": {
                                "line": 26,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 821,
                            "end": 831,
                            "loc": {
                              "start": {
                                "line": 26,
                                "column": 13
                              },
                              "end": {
                                "line": 26,
                                "column": 23
                              },
                              "identifierName": "hasStarted"
                            },
                            "name": "hasStarted"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "BooleanLiteral",
                          "start": 834,
                          "end": 838,
                          "loc": {
                            "start": {
                              "line": 26,
                              "column": 26
                            },
                            "end": {
                              "line": 26,
                              "column": 30
                            }
                          },
                          "value": true
                        }
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Base call function for when this Updateable is to be started.\n     ",
                    "start": 689,
                    "end": 769,
                    "loc": {
                      "start": {
                        "line": 21,
                        "column": 4
                      },
                      "end": {
                        "line": 23,
                        "column": 7
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Base call function for when this Updateable is to be updated.\n     ",
                    "start": 851,
                    "end": 931,
                    "loc": {
                      "start": {
                        "line": 29,
                        "column": 4
                      },
                      "end": {
                        "line": 31,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 936,
                "end": 1123,
                "loc": {
                  "start": {
                    "line": 32,
                    "column": 4
                  },
                  "end": {
                    "line": 42,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 936,
                  "end": 942,
                  "loc": {
                    "start": {
                      "line": 32,
                      "column": 4
                    },
                    "end": {
                      "line": 32,
                      "column": 10
                    },
                    "identifierName": "update"
                  },
                  "name": "update",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 945,
                  "end": 1123,
                  "loc": {
                    "start": {
                      "line": 32,
                      "column": 13
                    },
                    "end": {
                      "line": 42,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 955,
                      "end": 994,
                      "loc": {
                        "start": {
                          "line": 33,
                          "column": 8
                        },
                        "end": {
                          "line": 34,
                          "column": 19
                        }
                      },
                      "test": {
                        "type": "MemberExpression",
                        "start": 959,
                        "end": 973,
                        "loc": {
                          "start": {
                            "line": 33,
                            "column": 12
                          },
                          "end": {
                            "line": 33,
                            "column": 26
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 959,
                          "end": 963,
                          "loc": {
                            "start": {
                              "line": 33,
                              "column": 12
                            },
                            "end": {
                              "line": 33,
                              "column": 16
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 964,
                          "end": 973,
                          "loc": {
                            "start": {
                              "line": 33,
                              "column": 17
                            },
                            "end": {
                              "line": 33,
                              "column": 26
                            },
                            "identifierName": "hasPaused"
                          },
                          "name": "hasPaused"
                        },
                        "computed": false
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 987,
                        "end": 994,
                        "loc": {
                          "start": {
                            "line": 34,
                            "column": 12
                          },
                          "end": {
                            "line": 34,
                            "column": 19
                          }
                        },
                        "argument": null
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 1012,
                      "end": 1091,
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 8
                        },
                        "end": {
                          "line": 39,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 1016,
                        "end": 1032,
                        "loc": {
                          "start": {
                            "line": 36,
                            "column": 12
                          },
                          "end": {
                            "line": 36,
                            "column": 28
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "MemberExpression",
                          "start": 1017,
                          "end": 1032,
                          "loc": {
                            "start": {
                              "line": 36,
                              "column": 13
                            },
                            "end": {
                              "line": 36,
                              "column": 28
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1017,
                            "end": 1021,
                            "loc": {
                              "start": {
                                "line": 36,
                                "column": 13
                              },
                              "end": {
                                "line": 36,
                                "column": 17
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1022,
                            "end": 1032,
                            "loc": {
                              "start": {
                                "line": 36,
                                "column": 18
                              },
                              "end": {
                                "line": 36,
                                "column": 28
                              },
                              "identifierName": "hasStarted"
                            },
                            "name": "hasStarted"
                          },
                          "computed": false
                        },
                        "extra": {
                          "parenthesizedArgument": false
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 1034,
                        "end": 1091,
                        "loc": {
                          "start": {
                            "line": 36,
                            "column": 30
                          },
                          "end": {
                            "line": 39,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 1048,
                            "end": 1061,
                            "loc": {
                              "start": {
                                "line": 37,
                                "column": 12
                              },
                              "end": {
                                "line": 37,
                                "column": 25
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 1048,
                              "end": 1060,
                              "loc": {
                                "start": {
                                  "line": 37,
                                  "column": 12
                                },
                                "end": {
                                  "line": 37,
                                  "column": 24
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 1048,
                                "end": 1058,
                                "loc": {
                                  "start": {
                                    "line": 37,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 37,
                                    "column": 22
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 1048,
                                  "end": 1052,
                                  "loc": {
                                    "start": {
                                      "line": 37,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 37,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1053,
                                  "end": 1058,
                                  "loc": {
                                    "start": {
                                      "line": 37,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 37,
                                      "column": 22
                                    },
                                    "identifierName": "start"
                                  },
                                  "name": "start"
                                },
                                "computed": false
                              },
                              "arguments": []
                            }
                          },
                          {
                            "type": "ReturnStatement",
                            "start": 1074,
                            "end": 1081,
                            "loc": {
                              "start": {
                                "line": 38,
                                "column": 12
                              },
                              "end": {
                                "line": 38,
                                "column": 19
                              }
                            },
                            "argument": null
                          }
                        ],
                        "directives": []
                      },
                      "alternate": null
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1101,
                      "end": 1117,
                      "loc": {
                        "start": {
                          "line": 41,
                          "column": 8
                        },
                        "end": {
                          "line": 41,
                          "column": 24
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1101,
                        "end": 1116,
                        "loc": {
                          "start": {
                            "line": 41,
                            "column": 8
                          },
                          "end": {
                            "line": 41,
                            "column": 23
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1101,
                          "end": 1114,
                          "loc": {
                            "start": {
                              "line": 41,
                              "column": 8
                            },
                            "end": {
                              "line": 41,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1101,
                            "end": 1105,
                            "loc": {
                              "start": {
                                "line": 41,
                                "column": 8
                              },
                              "end": {
                                "line": 41,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1106,
                            "end": 1114,
                            "loc": {
                              "start": {
                                "line": 41,
                                "column": 13
                              },
                              "end": {
                                "line": 41,
                                "column": 21
                              },
                              "identifierName": "onUpdate"
                            },
                            "name": "onUpdate"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Base call function for when this Updateable is to be updated.\n     ",
                    "start": 851,
                    "end": 931,
                    "loc": {
                      "start": {
                        "line": 29,
                        "column": 4
                      },
                      "end": {
                        "line": 31,
                        "column": 7
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Base call function for when this Updateable is to be ended.\n     ",
                    "start": 1129,
                    "end": 1207,
                    "loc": {
                      "start": {
                        "line": 44,
                        "column": 4
                      },
                      "end": {
                        "line": 46,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 1212,
                "end": 1274,
                "loc": {
                  "start": {
                    "line": 47,
                    "column": 4
                  },
                  "end": {
                    "line": 50,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1212,
                  "end": 1215,
                  "loc": {
                    "start": {
                      "line": 47,
                      "column": 4
                    },
                    "end": {
                      "line": 47,
                      "column": 7
                    },
                    "identifierName": "end"
                  },
                  "name": "end",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 1218,
                  "end": 1274,
                  "loc": {
                    "start": {
                      "line": 47,
                      "column": 10
                    },
                    "end": {
                      "line": 50,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 1228,
                      "end": 1241,
                      "loc": {
                        "start": {
                          "line": 48,
                          "column": 8
                        },
                        "end": {
                          "line": 48,
                          "column": 21
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1228,
                        "end": 1240,
                        "loc": {
                          "start": {
                            "line": 48,
                            "column": 8
                          },
                          "end": {
                            "line": 48,
                            "column": 20
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1228,
                          "end": 1238,
                          "loc": {
                            "start": {
                              "line": 48,
                              "column": 8
                            },
                            "end": {
                              "line": 48,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1228,
                            "end": 1232,
                            "loc": {
                              "start": {
                                "line": 48,
                                "column": 8
                              },
                              "end": {
                                "line": 48,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1233,
                            "end": 1238,
                            "loc": {
                              "start": {
                                "line": 48,
                                "column": 13
                              },
                              "end": {
                                "line": 48,
                                "column": 18
                              },
                              "identifierName": "onEnd"
                            },
                            "name": "onEnd"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1250,
                      "end": 1268,
                      "loc": {
                        "start": {
                          "line": 49,
                          "column": 8
                        },
                        "end": {
                          "line": 49,
                          "column": 26
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1250,
                        "end": 1267,
                        "loc": {
                          "start": {
                            "line": 49,
                            "column": 8
                          },
                          "end": {
                            "line": 49,
                            "column": 25
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1250,
                          "end": 1265,
                          "loc": {
                            "start": {
                              "line": 49,
                              "column": 8
                            },
                            "end": {
                              "line": 49,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1250,
                            "end": 1254,
                            "loc": {
                              "start": {
                                "line": 49,
                                "column": 8
                              },
                              "end": {
                                "line": 49,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1255,
                            "end": 1265,
                            "loc": {
                              "start": {
                                "line": 49,
                                "column": 13
                              },
                              "end": {
                                "line": 49,
                                "column": 23
                              },
                              "identifierName": "destructor"
                            },
                            "name": "destructor"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Base call function for when this Updateable is to be ended.\n     ",
                    "start": 1129,
                    "end": 1207,
                    "loc": {
                      "start": {
                        "line": 44,
                        "column": 4
                      },
                      "end": {
                        "line": 46,
                        "column": 7
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Base call function for when this Updateable is to be paused.\n     ",
                    "start": 1280,
                    "end": 1359,
                    "loc": {
                      "start": {
                        "line": 52,
                        "column": 4
                      },
                      "end": {
                        "line": 54,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 1364,
                "end": 1483,
                "loc": {
                  "start": {
                    "line": 55,
                    "column": 4
                  },
                  "end": {
                    "line": 60,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1364,
                  "end": 1369,
                  "loc": {
                    "start": {
                      "line": 55,
                      "column": 4
                    },
                    "end": {
                      "line": 55,
                      "column": 9
                    },
                    "identifierName": "pause"
                  },
                  "name": "pause",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 1372,
                  "end": 1483,
                  "loc": {
                    "start": {
                      "line": 55,
                      "column": 12
                    },
                    "end": {
                      "line": 60,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 1382,
                      "end": 1477,
                      "loc": {
                        "start": {
                          "line": 56,
                          "column": 8
                        },
                        "end": {
                          "line": 59,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 1386,
                        "end": 1401,
                        "loc": {
                          "start": {
                            "line": 56,
                            "column": 12
                          },
                          "end": {
                            "line": 56,
                            "column": 27
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "MemberExpression",
                          "start": 1387,
                          "end": 1401,
                          "loc": {
                            "start": {
                              "line": 56,
                              "column": 13
                            },
                            "end": {
                              "line": 56,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1387,
                            "end": 1391,
                            "loc": {
                              "start": {
                                "line": 56,
                                "column": 13
                              },
                              "end": {
                                "line": 56,
                                "column": 17
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1392,
                            "end": 1401,
                            "loc": {
                              "start": {
                                "line": 56,
                                "column": 18
                              },
                              "end": {
                                "line": 56,
                                "column": 27
                              },
                              "identifierName": "hasPaused"
                            },
                            "name": "hasPaused"
                          },
                          "computed": false
                        },
                        "extra": {
                          "parenthesizedArgument": false
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 1403,
                        "end": 1477,
                        "loc": {
                          "start": {
                            "line": 56,
                            "column": 29
                          },
                          "end": {
                            "line": 59,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 1417,
                            "end": 1439,
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 12
                              },
                              "end": {
                                "line": 57,
                                "column": 34
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 1417,
                              "end": 1438,
                              "loc": {
                                "start": {
                                  "line": 57,
                                  "column": 12
                                },
                                "end": {
                                  "line": 57,
                                  "column": 33
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 1417,
                                "end": 1431,
                                "loc": {
                                  "start": {
                                    "line": 57,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 57,
                                    "column": 26
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 1417,
                                  "end": 1421,
                                  "loc": {
                                    "start": {
                                      "line": 57,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 57,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1422,
                                  "end": 1431,
                                  "loc": {
                                    "start": {
                                      "line": 57,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 57,
                                      "column": 26
                                    },
                                    "identifierName": "hasPaused"
                                  },
                                  "name": "hasPaused"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "BooleanLiteral",
                                "start": 1434,
                                "end": 1438,
                                "loc": {
                                  "start": {
                                    "line": 57,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 57,
                                    "column": 33
                                  }
                                },
                                "value": true
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 1452,
                            "end": 1467,
                            "loc": {
                              "start": {
                                "line": 58,
                                "column": 12
                              },
                              "end": {
                                "line": 58,
                                "column": 27
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 1452,
                              "end": 1466,
                              "loc": {
                                "start": {
                                  "line": 58,
                                  "column": 12
                                },
                                "end": {
                                  "line": 58,
                                  "column": 26
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 1452,
                                "end": 1464,
                                "loc": {
                                  "start": {
                                    "line": 58,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 58,
                                    "column": 24
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 1452,
                                  "end": 1456,
                                  "loc": {
                                    "start": {
                                      "line": 58,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 58,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1457,
                                  "end": 1464,
                                  "loc": {
                                    "start": {
                                      "line": 58,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 58,
                                      "column": 24
                                    },
                                    "identifierName": "onPause"
                                  },
                                  "name": "onPause"
                                },
                                "computed": false
                              },
                              "arguments": []
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": null
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Base call function for when this Updateable is to be paused.\n     ",
                    "start": 1280,
                    "end": 1359,
                    "loc": {
                      "start": {
                        "line": 52,
                        "column": 4
                      },
                      "end": {
                        "line": 54,
                        "column": 7
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Base call function for when this Updateable is to be unpaused.\n     ",
                    "start": 1489,
                    "end": 1570,
                    "loc": {
                      "start": {
                        "line": 62,
                        "column": 4
                      },
                      "end": {
                        "line": 64,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 1575,
                "end": 1698,
                "loc": {
                  "start": {
                    "line": 65,
                    "column": 4
                  },
                  "end": {
                    "line": 70,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1575,
                  "end": 1582,
                  "loc": {
                    "start": {
                      "line": 65,
                      "column": 4
                    },
                    "end": {
                      "line": 65,
                      "column": 11
                    },
                    "identifierName": "unpause"
                  },
                  "name": "unpause",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 1585,
                  "end": 1698,
                  "loc": {
                    "start": {
                      "line": 65,
                      "column": 14
                    },
                    "end": {
                      "line": 70,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 1595,
                      "end": 1692,
                      "loc": {
                        "start": {
                          "line": 66,
                          "column": 8
                        },
                        "end": {
                          "line": 69,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "MemberExpression",
                        "start": 1599,
                        "end": 1613,
                        "loc": {
                          "start": {
                            "line": 66,
                            "column": 12
                          },
                          "end": {
                            "line": 66,
                            "column": 26
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 1599,
                          "end": 1603,
                          "loc": {
                            "start": {
                              "line": 66,
                              "column": 12
                            },
                            "end": {
                              "line": 66,
                              "column": 16
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 1604,
                          "end": 1613,
                          "loc": {
                            "start": {
                              "line": 66,
                              "column": 17
                            },
                            "end": {
                              "line": 66,
                              "column": 26
                            },
                            "identifierName": "hasPaused"
                          },
                          "name": "hasPaused"
                        },
                        "computed": false
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 1615,
                        "end": 1692,
                        "loc": {
                          "start": {
                            "line": 66,
                            "column": 28
                          },
                          "end": {
                            "line": 69,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 1629,
                            "end": 1652,
                            "loc": {
                              "start": {
                                "line": 67,
                                "column": 12
                              },
                              "end": {
                                "line": 67,
                                "column": 35
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 1629,
                              "end": 1651,
                              "loc": {
                                "start": {
                                  "line": 67,
                                  "column": 12
                                },
                                "end": {
                                  "line": 67,
                                  "column": 34
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 1629,
                                "end": 1643,
                                "loc": {
                                  "start": {
                                    "line": 67,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 67,
                                    "column": 26
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 1629,
                                  "end": 1633,
                                  "loc": {
                                    "start": {
                                      "line": 67,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 67,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1634,
                                  "end": 1643,
                                  "loc": {
                                    "start": {
                                      "line": 67,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 67,
                                      "column": 26
                                    },
                                    "identifierName": "hasPaused"
                                  },
                                  "name": "hasPaused"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "BooleanLiteral",
                                "start": 1646,
                                "end": 1651,
                                "loc": {
                                  "start": {
                                    "line": 67,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 67,
                                    "column": 34
                                  }
                                },
                                "value": false
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 1665,
                            "end": 1682,
                            "loc": {
                              "start": {
                                "line": 68,
                                "column": 12
                              },
                              "end": {
                                "line": 68,
                                "column": 29
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 1665,
                              "end": 1681,
                              "loc": {
                                "start": {
                                  "line": 68,
                                  "column": 12
                                },
                                "end": {
                                  "line": 68,
                                  "column": 28
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 1665,
                                "end": 1679,
                                "loc": {
                                  "start": {
                                    "line": 68,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 68,
                                    "column": 26
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 1665,
                                  "end": 1669,
                                  "loc": {
                                    "start": {
                                      "line": 68,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 68,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1670,
                                  "end": 1679,
                                  "loc": {
                                    "start": {
                                      "line": 68,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 68,
                                      "column": 26
                                    },
                                    "identifierName": "onUnpause"
                                  },
                                  "name": "onUnpause"
                                },
                                "computed": false
                              },
                              "arguments": []
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": null
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Base call function for when this Updateable is to be unpaused.\n     ",
                    "start": 1489,
                    "end": 1570,
                    "loc": {
                      "start": {
                        "line": 62,
                        "column": 4
                      },
                      "end": {
                        "line": 64,
                        "column": 7
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Cleanup code for when destroying an Updateable.\n     ",
                    "start": 1704,
                    "end": 1770,
                    "loc": {
                      "start": {
                        "line": 72,
                        "column": 4
                      },
                      "end": {
                        "line": 74,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 1775,
                "end": 1822,
                "loc": {
                  "start": {
                    "line": 75,
                    "column": 4
                  },
                  "end": {
                    "line": 77,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1775,
                  "end": 1785,
                  "loc": {
                    "start": {
                      "line": 75,
                      "column": 4
                    },
                    "end": {
                      "line": 75,
                      "column": 14
                    },
                    "identifierName": "destructor"
                  },
                  "name": "destructor",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 1788,
                  "end": 1822,
                  "loc": {
                    "start": {
                      "line": 75,
                      "column": 17
                    },
                    "end": {
                      "line": 77,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 1798,
                      "end": 1816,
                      "loc": {
                        "start": {
                          "line": 76,
                          "column": 8
                        },
                        "end": {
                          "line": 76,
                          "column": 26
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1798,
                        "end": 1815,
                        "loc": {
                          "start": {
                            "line": 76,
                            "column": 8
                          },
                          "end": {
                            "line": 76,
                            "column": 25
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1798,
                          "end": 1813,
                          "loc": {
                            "start": {
                              "line": 76,
                              "column": 8
                            },
                            "end": {
                              "line": 76,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1798,
                            "end": 1802,
                            "loc": {
                              "start": {
                                "line": 76,
                                "column": 8
                              },
                              "end": {
                                "line": 76,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1803,
                            "end": 1813,
                            "loc": {
                              "start": {
                                "line": 76,
                                "column": 13
                              },
                              "end": {
                                "line": 76,
                                "column": 23
                              },
                              "identifierName": "deregister"
                            },
                            "name": "deregister"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Cleanup code for when destroying an Updateable.\n     ",
                    "start": 1704,
                    "end": 1770,
                    "loc": {
                      "start": {
                        "line": 72,
                        "column": 4
                      },
                      "end": {
                        "line": 74,
                        "column": 7
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Called when the the object is first introduced.\n     * \n     * Managing code will call this on first iteration once introduced to the game loop.\n     ",
                    "start": 1828,
                    "end": 1991,
                    "loc": {
                      "start": {
                        "line": 79,
                        "column": 4
                      },
                      "end": {
                        "line": 83,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 1996,
                "end": 2008,
                "loc": {
                  "start": {
                    "line": 84,
                    "column": 4
                  },
                  "end": {
                    "line": 84,
                    "column": 16
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1996,
                  "end": 2003,
                  "loc": {
                    "start": {
                      "line": 84,
                      "column": 4
                    },
                    "end": {
                      "line": 84,
                      "column": 11
                    },
                    "identifierName": "onStart"
                  },
                  "name": "onStart",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 2006,
                  "end": 2008,
                  "loc": {
                    "start": {
                      "line": 84,
                      "column": 14
                    },
                    "end": {
                      "line": 84,
                      "column": 16
                    }
                  },
                  "body": [],
                  "directives": [],
                  "leadingComments": null,
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Called when the the object is first introduced.\n     * \n     * Managing code will call this on first iteration once introduced to the game loop.\n     ",
                    "start": 1828,
                    "end": 1991,
                    "loc": {
                      "start": {
                        "line": 79,
                        "column": 4
                      },
                      "end": {
                        "line": 83,
                        "column": 7
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Called on every update within the game, once the object has had onStart called.\n     ",
                    "start": 2014,
                    "end": 2112,
                    "loc": {
                      "start": {
                        "line": 86,
                        "column": 4
                      },
                      "end": {
                        "line": 88,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 2117,
                "end": 2130,
                "loc": {
                  "start": {
                    "line": 89,
                    "column": 4
                  },
                  "end": {
                    "line": 89,
                    "column": 17
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 2117,
                  "end": 2125,
                  "loc": {
                    "start": {
                      "line": 89,
                      "column": 4
                    },
                    "end": {
                      "line": 89,
                      "column": 12
                    },
                    "identifierName": "onUpdate"
                  },
                  "name": "onUpdate",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 2128,
                  "end": 2130,
                  "loc": {
                    "start": {
                      "line": 89,
                      "column": 15
                    },
                    "end": {
                      "line": 89,
                      "column": 17
                    }
                  },
                  "body": [],
                  "directives": [],
                  "leadingComments": null,
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Called on every update within the game, once the object has had onStart called.\n     ",
                    "start": 2014,
                    "end": 2112,
                    "loc": {
                      "start": {
                        "line": 86,
                        "column": 4
                      },
                      "end": {
                        "line": 88,
                        "column": 7
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Called when the object is being removed or cleaned up from usage.\n     ",
                    "start": 2136,
                    "end": 2220,
                    "loc": {
                      "start": {
                        "line": 91,
                        "column": 4
                      },
                      "end": {
                        "line": 93,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 2225,
                "end": 2235,
                "loc": {
                  "start": {
                    "line": 94,
                    "column": 4
                  },
                  "end": {
                    "line": 94,
                    "column": 14
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 2225,
                  "end": 2230,
                  "loc": {
                    "start": {
                      "line": 94,
                      "column": 4
                    },
                    "end": {
                      "line": 94,
                      "column": 9
                    },
                    "identifierName": "onEnd"
                  },
                  "name": "onEnd",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 2233,
                  "end": 2235,
                  "loc": {
                    "start": {
                      "line": 94,
                      "column": 12
                    },
                    "end": {
                      "line": 94,
                      "column": 14
                    }
                  },
                  "body": [],
                  "directives": [],
                  "leadingComments": null,
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Called when the object is being removed or cleaned up from usage.\n     ",
                    "start": 2136,
                    "end": 2220,
                    "loc": {
                      "start": {
                        "line": 91,
                        "column": 4
                      },
                      "end": {
                        "line": 93,
                        "column": 7
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Called when the object is intended to be paused.\n     ",
                    "start": 2241,
                    "end": 2308,
                    "loc": {
                      "start": {
                        "line": 96,
                        "column": 4
                      },
                      "end": {
                        "line": 98,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 2313,
                "end": 2325,
                "loc": {
                  "start": {
                    "line": 99,
                    "column": 4
                  },
                  "end": {
                    "line": 99,
                    "column": 16
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 2313,
                  "end": 2320,
                  "loc": {
                    "start": {
                      "line": 99,
                      "column": 4
                    },
                    "end": {
                      "line": 99,
                      "column": 11
                    },
                    "identifierName": "onPause"
                  },
                  "name": "onPause",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 2323,
                  "end": 2325,
                  "loc": {
                    "start": {
                      "line": 99,
                      "column": 14
                    },
                    "end": {
                      "line": 99,
                      "column": 16
                    }
                  },
                  "body": [],
                  "directives": [],
                  "leadingComments": null,
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Called when the object is intended to be paused.\n     ",
                    "start": 2241,
                    "end": 2308,
                    "loc": {
                      "start": {
                        "line": 96,
                        "column": 4
                      },
                      "end": {
                        "line": 98,
                        "column": 7
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Called when the object is to be unpaused from paused state.\n     ",
                    "start": 2331,
                    "end": 2409,
                    "loc": {
                      "start": {
                        "line": 101,
                        "column": 4
                      },
                      "end": {
                        "line": 103,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 2414,
                "end": 2428,
                "loc": {
                  "start": {
                    "line": 104,
                    "column": 4
                  },
                  "end": {
                    "line": 104,
                    "column": 18
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 2414,
                  "end": 2423,
                  "loc": {
                    "start": {
                      "line": 104,
                      "column": 4
                    },
                    "end": {
                      "line": 104,
                      "column": 13
                    },
                    "identifierName": "onUnpause"
                  },
                  "name": "onUnpause",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 2426,
                  "end": 2428,
                  "loc": {
                    "start": {
                      "line": 104,
                      "column": 16
                    },
                    "end": {
                      "line": 104,
                      "column": 18
                    }
                  },
                  "body": [],
                  "directives": []
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Called when the object is to be unpaused from paused state.\n     ",
                    "start": 2331,
                    "end": 2409,
                    "loc": {
                      "start": {
                        "line": 101,
                        "column": 4
                      },
                      "end": {
                        "line": 103,
                        "column": 7
                      }
                    }
                  }
                ]
              }
            ]
          },
          "leadingComments": [
            {
              "type": "CommentBlock",
              "value": "*\n * Baseclass for objects that follow the same ECS pattern of the seed engine.\n * \n * Used in anything that should follow a create, update, end loop \n * handled by the Engine.\n * \n * Many things will need to update/start/end. If you derive something that\n * has the start()/update()/end()... functions, the children should fill in\n * their respective callbacks (onStart()/onUpdate()/onEnd()/...).\n ",
              "start": 63,
              "end": 466,
              "loc": {
                "start": {
                  "line": 3,
                  "column": 0
                },
                "end": {
                  "line": 12,
                  "column": 3
                }
              }
            }
          ],
          "trailingComments": []
        },
        "leadingComments": [
          {
            "type": "CommentBlock",
            "value": "*\n * Baseclass for objects that follow the same ECS pattern of the seed engine.\n * \n * Used in anything that should follow a create, update, end loop \n * handled by the Engine.\n * \n * Many things will need to update/start/end. If you derive something that\n * has the start()/update()/end()... functions, the children should fill in\n * their respective callbacks (onStart()/onUpdate()/onEnd()/...).\n ",
            "start": 63,
            "end": 466,
            "loc": {
              "start": {
                "line": 3,
                "column": 0
              },
              "end": {
                "line": 12,
                "column": 3
              }
            }
          }
        ]
      }
    ],
    "directives": []
  },
  "comments": [
    {
      "type": "CommentBlock",
      "value": "*\n * Baseclass for objects that follow the same ECS pattern of the seed engine.\n * \n * Used in anything that should follow a create, update, end loop \n * handled by the Engine.\n * \n * Many things will need to update/start/end. If you derive something that\n * has the start()/update()/end()... functions, the children should fill in\n * their respective callbacks (onStart()/onUpdate()/onEnd()/...).\n ",
      "start": 63,
      "end": 466,
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 12,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Base call function for when this Updateable is to be started.\n     ",
      "start": 689,
      "end": 769,
      "loc": {
        "start": {
          "line": 21,
          "column": 4
        },
        "end": {
          "line": 23,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Base call function for when this Updateable is to be updated.\n     ",
      "start": 851,
      "end": 931,
      "loc": {
        "start": {
          "line": 29,
          "column": 4
        },
        "end": {
          "line": 31,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Base call function for when this Updateable is to be ended.\n     ",
      "start": 1129,
      "end": 1207,
      "loc": {
        "start": {
          "line": 44,
          "column": 4
        },
        "end": {
          "line": 46,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Base call function for when this Updateable is to be paused.\n     ",
      "start": 1280,
      "end": 1359,
      "loc": {
        "start": {
          "line": 52,
          "column": 4
        },
        "end": {
          "line": 54,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Base call function for when this Updateable is to be unpaused.\n     ",
      "start": 1489,
      "end": 1570,
      "loc": {
        "start": {
          "line": 62,
          "column": 4
        },
        "end": {
          "line": 64,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Cleanup code for when destroying an Updateable.\n     ",
      "start": 1704,
      "end": 1770,
      "loc": {
        "start": {
          "line": 72,
          "column": 4
        },
        "end": {
          "line": 74,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Called when the the object is first introduced.\n     * \n     * Managing code will call this on first iteration once introduced to the game loop.\n     ",
      "start": 1828,
      "end": 1991,
      "loc": {
        "start": {
          "line": 79,
          "column": 4
        },
        "end": {
          "line": 83,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Called on every update within the game, once the object has had onStart called.\n     ",
      "start": 2014,
      "end": 2112,
      "loc": {
        "start": {
          "line": 86,
          "column": 4
        },
        "end": {
          "line": 88,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Called when the object is being removed or cleaned up from usage.\n     ",
      "start": 2136,
      "end": 2220,
      "loc": {
        "start": {
          "line": 91,
          "column": 4
        },
        "end": {
          "line": 93,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Called when the object is intended to be paused.\n     ",
      "start": 2241,
      "end": 2308,
      "loc": {
        "start": {
          "line": 96,
          "column": 4
        },
        "end": {
          "line": 98,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Called when the object is to be unpaused from paused state.\n     ",
      "start": 2331,
      "end": 2409,
      "loc": {
        "start": {
          "line": 101,
          "column": 4
        },
        "end": {
          "line": 103,
          "column": 7
        }
      }
    }
  ],
  "tokens": [
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 0,
      "end": 6,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "UpdateableManager",
      "start": 7,
      "end": 24,
      "loc": {
        "start": {
          "line": 1,
          "column": 7
        },
        "end": {
          "line": 1,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 25,
      "end": 29,
      "loc": {
        "start": {
          "line": 1,
          "column": 25
        },
        "end": {
          "line": 1,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "../manager/UpdateableManager",
      "start": 30,
      "end": 60,
      "loc": {
        "start": {
          "line": 1,
          "column": 30
        },
        "end": {
          "line": 1,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 60,
      "end": 61,
      "loc": {
        "start": {
          "line": 1,
          "column": 60
        },
        "end": {
          "line": 1,
          "column": 61
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * Baseclass for objects that follow the same ECS pattern of the seed engine.\n * \n * Used in anything that should follow a create, update, end loop \n * handled by the Engine.\n * \n * Many things will need to update/start/end. If you derive something that\n * has the start()/update()/end()... functions, the children should fill in\n * their respective callbacks (onStart()/onUpdate()/onEnd()/...).\n ",
      "start": 63,
      "end": 466,
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 12,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "export",
        "keyword": "export",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "export",
      "start": 467,
      "end": 473,
      "loc": {
        "start": {
          "line": 13,
          "column": 0
        },
        "end": {
          "line": 13,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "default",
        "keyword": "default",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "default",
      "start": 474,
      "end": 481,
      "loc": {
        "start": {
          "line": 13,
          "column": 7
        },
        "end": {
          "line": 13,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "class",
        "keyword": "class",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "class",
      "start": 482,
      "end": 487,
      "loc": {
        "start": {
          "line": 13,
          "column": 15
        },
        "end": {
          "line": 13,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Updateable",
      "start": 488,
      "end": 498,
      "loc": {
        "start": {
          "line": 13,
          "column": 21
        },
        "end": {
          "line": 13,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 499,
      "end": 500,
      "loc": {
        "start": {
          "line": 13,
          "column": 32
        },
        "end": {
          "line": 13,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constructor",
      "start": 505,
      "end": 516,
      "loc": {
        "start": {
          "line": 14,
          "column": 4
        },
        "end": {
          "line": 14,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 516,
      "end": 517,
      "loc": {
        "start": {
          "line": 14,
          "column": 15
        },
        "end": {
          "line": 14,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 517,
      "end": 518,
      "loc": {
        "start": {
          "line": 14,
          "column": 16
        },
        "end": {
          "line": 14,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 519,
      "end": 520,
      "loc": {
        "start": {
          "line": 14,
          "column": 18
        },
        "end": {
          "line": 14,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 529,
      "end": 533,
      "loc": {
        "start": {
          "line": 15,
          "column": 8
        },
        "end": {
          "line": 15,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 533,
      "end": 534,
      "loc": {
        "start": {
          "line": 15,
          "column": 12
        },
        "end": {
          "line": 15,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hasStarted",
      "start": 534,
      "end": 544,
      "loc": {
        "start": {
          "line": 15,
          "column": 13
        },
        "end": {
          "line": 15,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 545,
      "end": 546,
      "loc": {
        "start": {
          "line": 15,
          "column": 24
        },
        "end": {
          "line": 15,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 547,
      "end": 552,
      "loc": {
        "start": {
          "line": 15,
          "column": 26
        },
        "end": {
          "line": 15,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 552,
      "end": 553,
      "loc": {
        "start": {
          "line": 15,
          "column": 31
        },
        "end": {
          "line": 15,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 562,
      "end": 566,
      "loc": {
        "start": {
          "line": 16,
          "column": 8
        },
        "end": {
          "line": 16,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 566,
      "end": 567,
      "loc": {
        "start": {
          "line": 16,
          "column": 12
        },
        "end": {
          "line": 16,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hasPaused",
      "start": 567,
      "end": 576,
      "loc": {
        "start": {
          "line": 16,
          "column": 13
        },
        "end": {
          "line": 16,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 577,
      "end": 578,
      "loc": {
        "start": {
          "line": 16,
          "column": 23
        },
        "end": {
          "line": 16,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 579,
      "end": 584,
      "loc": {
        "start": {
          "line": 16,
          "column": 25
        },
        "end": {
          "line": 16,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 584,
      "end": 585,
      "loc": {
        "start": {
          "line": 16,
          "column": 30
        },
        "end": {
          "line": 16,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 594,
      "end": 598,
      "loc": {
        "start": {
          "line": 17,
          "column": 8
        },
        "end": {
          "line": 17,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 598,
      "end": 599,
      "loc": {
        "start": {
          "line": 17,
          "column": 12
        },
        "end": {
          "line": 17,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 599,
      "end": 601,
      "loc": {
        "start": {
          "line": 17,
          "column": 13
        },
        "end": {
          "line": 17,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 602,
      "end": 603,
      "loc": {
        "start": {
          "line": 17,
          "column": 16
        },
        "end": {
          "line": 17,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 604,
      "end": 605,
      "loc": {
        "start": {
          "line": 17,
          "column": 18
        },
        "end": {
          "line": 17,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 605,
      "end": 606,
      "loc": {
        "start": {
          "line": 17,
          "column": 19
        },
        "end": {
          "line": 17,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 606,
      "end": 607,
      "loc": {
        "start": {
          "line": 17,
          "column": 20
        },
        "end": {
          "line": 17,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 616,
      "end": 620,
      "loc": {
        "start": {
          "line": 18,
          "column": 8
        },
        "end": {
          "line": 18,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 620,
      "end": 621,
      "loc": {
        "start": {
          "line": 18,
          "column": 12
        },
        "end": {
          "line": 18,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "deregister",
      "start": 621,
      "end": 631,
      "loc": {
        "start": {
          "line": 18,
          "column": 13
        },
        "end": {
          "line": 18,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 632,
      "end": 633,
      "loc": {
        "start": {
          "line": 18,
          "column": 24
        },
        "end": {
          "line": 18,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "UpdateableManager",
      "start": 634,
      "end": 651,
      "loc": {
        "start": {
          "line": 18,
          "column": 26
        },
        "end": {
          "line": 18,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 651,
      "end": 652,
      "loc": {
        "start": {
          "line": 18,
          "column": 43
        },
        "end": {
          "line": 18,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "registerUpdateable",
      "start": 652,
      "end": 670,
      "loc": {
        "start": {
          "line": 18,
          "column": 44
        },
        "end": {
          "line": 18,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 670,
      "end": 671,
      "loc": {
        "start": {
          "line": 18,
          "column": 62
        },
        "end": {
          "line": 18,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 671,
      "end": 675,
      "loc": {
        "start": {
          "line": 18,
          "column": 63
        },
        "end": {
          "line": 18,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 675,
      "end": 676,
      "loc": {
        "start": {
          "line": 18,
          "column": 67
        },
        "end": {
          "line": 18,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 676,
      "end": 677,
      "loc": {
        "start": {
          "line": 18,
          "column": 68
        },
        "end": {
          "line": 18,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 682,
      "end": 683,
      "loc": {
        "start": {
          "line": 19,
          "column": 4
        },
        "end": {
          "line": 19,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Base call function for when this Updateable is to be started.\n     ",
      "start": 689,
      "end": 769,
      "loc": {
        "start": {
          "line": 21,
          "column": 4
        },
        "end": {
          "line": 23,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "start",
      "start": 774,
      "end": 779,
      "loc": {
        "start": {
          "line": 24,
          "column": 4
        },
        "end": {
          "line": 24,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 779,
      "end": 780,
      "loc": {
        "start": {
          "line": 24,
          "column": 9
        },
        "end": {
          "line": 24,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 780,
      "end": 781,
      "loc": {
        "start": {
          "line": 24,
          "column": 10
        },
        "end": {
          "line": 24,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 782,
      "end": 783,
      "loc": {
        "start": {
          "line": 24,
          "column": 12
        },
        "end": {
          "line": 24,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 792,
      "end": 796,
      "loc": {
        "start": {
          "line": 25,
          "column": 8
        },
        "end": {
          "line": 25,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 796,
      "end": 797,
      "loc": {
        "start": {
          "line": 25,
          "column": 12
        },
        "end": {
          "line": 25,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "onStart",
      "start": 797,
      "end": 804,
      "loc": {
        "start": {
          "line": 25,
          "column": 13
        },
        "end": {
          "line": 25,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 804,
      "end": 805,
      "loc": {
        "start": {
          "line": 25,
          "column": 20
        },
        "end": {
          "line": 25,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 805,
      "end": 806,
      "loc": {
        "start": {
          "line": 25,
          "column": 21
        },
        "end": {
          "line": 25,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 806,
      "end": 807,
      "loc": {
        "start": {
          "line": 25,
          "column": 22
        },
        "end": {
          "line": 25,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 816,
      "end": 820,
      "loc": {
        "start": {
          "line": 26,
          "column": 8
        },
        "end": {
          "line": 26,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 820,
      "end": 821,
      "loc": {
        "start": {
          "line": 26,
          "column": 12
        },
        "end": {
          "line": 26,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hasStarted",
      "start": 821,
      "end": 831,
      "loc": {
        "start": {
          "line": 26,
          "column": 13
        },
        "end": {
          "line": 26,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 832,
      "end": 833,
      "loc": {
        "start": {
          "line": 26,
          "column": 24
        },
        "end": {
          "line": 26,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 834,
      "end": 838,
      "loc": {
        "start": {
          "line": 26,
          "column": 26
        },
        "end": {
          "line": 26,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 838,
      "end": 839,
      "loc": {
        "start": {
          "line": 26,
          "column": 30
        },
        "end": {
          "line": 26,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 844,
      "end": 845,
      "loc": {
        "start": {
          "line": 27,
          "column": 4
        },
        "end": {
          "line": 27,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Base call function for when this Updateable is to be updated.\n     ",
      "start": 851,
      "end": 931,
      "loc": {
        "start": {
          "line": 29,
          "column": 4
        },
        "end": {
          "line": 31,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "update",
      "start": 936,
      "end": 942,
      "loc": {
        "start": {
          "line": 32,
          "column": 4
        },
        "end": {
          "line": 32,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 942,
      "end": 943,
      "loc": {
        "start": {
          "line": 32,
          "column": 10
        },
        "end": {
          "line": 32,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 943,
      "end": 944,
      "loc": {
        "start": {
          "line": 32,
          "column": 11
        },
        "end": {
          "line": 32,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 945,
      "end": 946,
      "loc": {
        "start": {
          "line": 32,
          "column": 13
        },
        "end": {
          "line": 32,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 955,
      "end": 957,
      "loc": {
        "start": {
          "line": 33,
          "column": 8
        },
        "end": {
          "line": 33,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 958,
      "end": 959,
      "loc": {
        "start": {
          "line": 33,
          "column": 11
        },
        "end": {
          "line": 33,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 959,
      "end": 963,
      "loc": {
        "start": {
          "line": 33,
          "column": 12
        },
        "end": {
          "line": 33,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 963,
      "end": 964,
      "loc": {
        "start": {
          "line": 33,
          "column": 16
        },
        "end": {
          "line": 33,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hasPaused",
      "start": 964,
      "end": 973,
      "loc": {
        "start": {
          "line": 33,
          "column": 17
        },
        "end": {
          "line": 33,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 973,
      "end": 974,
      "loc": {
        "start": {
          "line": 33,
          "column": 26
        },
        "end": {
          "line": 33,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 987,
      "end": 993,
      "loc": {
        "start": {
          "line": 34,
          "column": 12
        },
        "end": {
          "line": 34,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 993,
      "end": 994,
      "loc": {
        "start": {
          "line": 34,
          "column": 18
        },
        "end": {
          "line": 34,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 1012,
      "end": 1014,
      "loc": {
        "start": {
          "line": 36,
          "column": 8
        },
        "end": {
          "line": 36,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1015,
      "end": 1016,
      "loc": {
        "start": {
          "line": 36,
          "column": 11
        },
        "end": {
          "line": 36,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 1016,
      "end": 1017,
      "loc": {
        "start": {
          "line": 36,
          "column": 12
        },
        "end": {
          "line": 36,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1017,
      "end": 1021,
      "loc": {
        "start": {
          "line": 36,
          "column": 13
        },
        "end": {
          "line": 36,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1021,
      "end": 1022,
      "loc": {
        "start": {
          "line": 36,
          "column": 17
        },
        "end": {
          "line": 36,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hasStarted",
      "start": 1022,
      "end": 1032,
      "loc": {
        "start": {
          "line": 36,
          "column": 18
        },
        "end": {
          "line": 36,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1032,
      "end": 1033,
      "loc": {
        "start": {
          "line": 36,
          "column": 28
        },
        "end": {
          "line": 36,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1034,
      "end": 1035,
      "loc": {
        "start": {
          "line": 36,
          "column": 30
        },
        "end": {
          "line": 36,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1048,
      "end": 1052,
      "loc": {
        "start": {
          "line": 37,
          "column": 12
        },
        "end": {
          "line": 37,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1052,
      "end": 1053,
      "loc": {
        "start": {
          "line": 37,
          "column": 16
        },
        "end": {
          "line": 37,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "start",
      "start": 1053,
      "end": 1058,
      "loc": {
        "start": {
          "line": 37,
          "column": 17
        },
        "end": {
          "line": 37,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1058,
      "end": 1059,
      "loc": {
        "start": {
          "line": 37,
          "column": 22
        },
        "end": {
          "line": 37,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1059,
      "end": 1060,
      "loc": {
        "start": {
          "line": 37,
          "column": 23
        },
        "end": {
          "line": 37,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1060,
      "end": 1061,
      "loc": {
        "start": {
          "line": 37,
          "column": 24
        },
        "end": {
          "line": 37,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 1074,
      "end": 1080,
      "loc": {
        "start": {
          "line": 38,
          "column": 12
        },
        "end": {
          "line": 38,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1080,
      "end": 1081,
      "loc": {
        "start": {
          "line": 38,
          "column": 18
        },
        "end": {
          "line": 38,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1090,
      "end": 1091,
      "loc": {
        "start": {
          "line": 39,
          "column": 8
        },
        "end": {
          "line": 39,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1101,
      "end": 1105,
      "loc": {
        "start": {
          "line": 41,
          "column": 8
        },
        "end": {
          "line": 41,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1105,
      "end": 1106,
      "loc": {
        "start": {
          "line": 41,
          "column": 12
        },
        "end": {
          "line": 41,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "onUpdate",
      "start": 1106,
      "end": 1114,
      "loc": {
        "start": {
          "line": 41,
          "column": 13
        },
        "end": {
          "line": 41,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1114,
      "end": 1115,
      "loc": {
        "start": {
          "line": 41,
          "column": 21
        },
        "end": {
          "line": 41,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1115,
      "end": 1116,
      "loc": {
        "start": {
          "line": 41,
          "column": 22
        },
        "end": {
          "line": 41,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1116,
      "end": 1117,
      "loc": {
        "start": {
          "line": 41,
          "column": 23
        },
        "end": {
          "line": 41,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1122,
      "end": 1123,
      "loc": {
        "start": {
          "line": 42,
          "column": 4
        },
        "end": {
          "line": 42,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Base call function for when this Updateable is to be ended.\n     ",
      "start": 1129,
      "end": 1207,
      "loc": {
        "start": {
          "line": 44,
          "column": 4
        },
        "end": {
          "line": 46,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "end",
      "start": 1212,
      "end": 1215,
      "loc": {
        "start": {
          "line": 47,
          "column": 4
        },
        "end": {
          "line": 47,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1215,
      "end": 1216,
      "loc": {
        "start": {
          "line": 47,
          "column": 7
        },
        "end": {
          "line": 47,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1216,
      "end": 1217,
      "loc": {
        "start": {
          "line": 47,
          "column": 8
        },
        "end": {
          "line": 47,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1218,
      "end": 1219,
      "loc": {
        "start": {
          "line": 47,
          "column": 10
        },
        "end": {
          "line": 47,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1228,
      "end": 1232,
      "loc": {
        "start": {
          "line": 48,
          "column": 8
        },
        "end": {
          "line": 48,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1232,
      "end": 1233,
      "loc": {
        "start": {
          "line": 48,
          "column": 12
        },
        "end": {
          "line": 48,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "onEnd",
      "start": 1233,
      "end": 1238,
      "loc": {
        "start": {
          "line": 48,
          "column": 13
        },
        "end": {
          "line": 48,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1238,
      "end": 1239,
      "loc": {
        "start": {
          "line": 48,
          "column": 18
        },
        "end": {
          "line": 48,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1239,
      "end": 1240,
      "loc": {
        "start": {
          "line": 48,
          "column": 19
        },
        "end": {
          "line": 48,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1240,
      "end": 1241,
      "loc": {
        "start": {
          "line": 48,
          "column": 20
        },
        "end": {
          "line": 48,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1250,
      "end": 1254,
      "loc": {
        "start": {
          "line": 49,
          "column": 8
        },
        "end": {
          "line": 49,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1254,
      "end": 1255,
      "loc": {
        "start": {
          "line": 49,
          "column": 12
        },
        "end": {
          "line": 49,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "destructor",
      "start": 1255,
      "end": 1265,
      "loc": {
        "start": {
          "line": 49,
          "column": 13
        },
        "end": {
          "line": 49,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1265,
      "end": 1266,
      "loc": {
        "start": {
          "line": 49,
          "column": 23
        },
        "end": {
          "line": 49,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1266,
      "end": 1267,
      "loc": {
        "start": {
          "line": 49,
          "column": 24
        },
        "end": {
          "line": 49,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1267,
      "end": 1268,
      "loc": {
        "start": {
          "line": 49,
          "column": 25
        },
        "end": {
          "line": 49,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1273,
      "end": 1274,
      "loc": {
        "start": {
          "line": 50,
          "column": 4
        },
        "end": {
          "line": 50,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Base call function for when this Updateable is to be paused.\n     ",
      "start": 1280,
      "end": 1359,
      "loc": {
        "start": {
          "line": 52,
          "column": 4
        },
        "end": {
          "line": 54,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "pause",
      "start": 1364,
      "end": 1369,
      "loc": {
        "start": {
          "line": 55,
          "column": 4
        },
        "end": {
          "line": 55,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1369,
      "end": 1370,
      "loc": {
        "start": {
          "line": 55,
          "column": 9
        },
        "end": {
          "line": 55,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1370,
      "end": 1371,
      "loc": {
        "start": {
          "line": 55,
          "column": 10
        },
        "end": {
          "line": 55,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1372,
      "end": 1373,
      "loc": {
        "start": {
          "line": 55,
          "column": 12
        },
        "end": {
          "line": 55,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 1382,
      "end": 1384,
      "loc": {
        "start": {
          "line": 56,
          "column": 8
        },
        "end": {
          "line": 56,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1385,
      "end": 1386,
      "loc": {
        "start": {
          "line": 56,
          "column": 11
        },
        "end": {
          "line": 56,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 1386,
      "end": 1387,
      "loc": {
        "start": {
          "line": 56,
          "column": 12
        },
        "end": {
          "line": 56,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1387,
      "end": 1391,
      "loc": {
        "start": {
          "line": 56,
          "column": 13
        },
        "end": {
          "line": 56,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1391,
      "end": 1392,
      "loc": {
        "start": {
          "line": 56,
          "column": 17
        },
        "end": {
          "line": 56,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hasPaused",
      "start": 1392,
      "end": 1401,
      "loc": {
        "start": {
          "line": 56,
          "column": 18
        },
        "end": {
          "line": 56,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1401,
      "end": 1402,
      "loc": {
        "start": {
          "line": 56,
          "column": 27
        },
        "end": {
          "line": 56,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1403,
      "end": 1404,
      "loc": {
        "start": {
          "line": 56,
          "column": 29
        },
        "end": {
          "line": 56,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1417,
      "end": 1421,
      "loc": {
        "start": {
          "line": 57,
          "column": 12
        },
        "end": {
          "line": 57,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1421,
      "end": 1422,
      "loc": {
        "start": {
          "line": 57,
          "column": 16
        },
        "end": {
          "line": 57,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hasPaused",
      "start": 1422,
      "end": 1431,
      "loc": {
        "start": {
          "line": 57,
          "column": 17
        },
        "end": {
          "line": 57,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1432,
      "end": 1433,
      "loc": {
        "start": {
          "line": 57,
          "column": 27
        },
        "end": {
          "line": 57,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 1434,
      "end": 1438,
      "loc": {
        "start": {
          "line": 57,
          "column": 29
        },
        "end": {
          "line": 57,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1438,
      "end": 1439,
      "loc": {
        "start": {
          "line": 57,
          "column": 33
        },
        "end": {
          "line": 57,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1452,
      "end": 1456,
      "loc": {
        "start": {
          "line": 58,
          "column": 12
        },
        "end": {
          "line": 58,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1456,
      "end": 1457,
      "loc": {
        "start": {
          "line": 58,
          "column": 16
        },
        "end": {
          "line": 58,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "onPause",
      "start": 1457,
      "end": 1464,
      "loc": {
        "start": {
          "line": 58,
          "column": 17
        },
        "end": {
          "line": 58,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1464,
      "end": 1465,
      "loc": {
        "start": {
          "line": 58,
          "column": 24
        },
        "end": {
          "line": 58,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1465,
      "end": 1466,
      "loc": {
        "start": {
          "line": 58,
          "column": 25
        },
        "end": {
          "line": 58,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1466,
      "end": 1467,
      "loc": {
        "start": {
          "line": 58,
          "column": 26
        },
        "end": {
          "line": 58,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1476,
      "end": 1477,
      "loc": {
        "start": {
          "line": 59,
          "column": 8
        },
        "end": {
          "line": 59,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1482,
      "end": 1483,
      "loc": {
        "start": {
          "line": 60,
          "column": 4
        },
        "end": {
          "line": 60,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Base call function for when this Updateable is to be unpaused.\n     ",
      "start": 1489,
      "end": 1570,
      "loc": {
        "start": {
          "line": 62,
          "column": 4
        },
        "end": {
          "line": 64,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "unpause",
      "start": 1575,
      "end": 1582,
      "loc": {
        "start": {
          "line": 65,
          "column": 4
        },
        "end": {
          "line": 65,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1582,
      "end": 1583,
      "loc": {
        "start": {
          "line": 65,
          "column": 11
        },
        "end": {
          "line": 65,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1583,
      "end": 1584,
      "loc": {
        "start": {
          "line": 65,
          "column": 12
        },
        "end": {
          "line": 65,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1585,
      "end": 1586,
      "loc": {
        "start": {
          "line": 65,
          "column": 14
        },
        "end": {
          "line": 65,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 1595,
      "end": 1597,
      "loc": {
        "start": {
          "line": 66,
          "column": 8
        },
        "end": {
          "line": 66,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1598,
      "end": 1599,
      "loc": {
        "start": {
          "line": 66,
          "column": 11
        },
        "end": {
          "line": 66,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1599,
      "end": 1603,
      "loc": {
        "start": {
          "line": 66,
          "column": 12
        },
        "end": {
          "line": 66,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1603,
      "end": 1604,
      "loc": {
        "start": {
          "line": 66,
          "column": 16
        },
        "end": {
          "line": 66,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hasPaused",
      "start": 1604,
      "end": 1613,
      "loc": {
        "start": {
          "line": 66,
          "column": 17
        },
        "end": {
          "line": 66,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1613,
      "end": 1614,
      "loc": {
        "start": {
          "line": 66,
          "column": 26
        },
        "end": {
          "line": 66,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1615,
      "end": 1616,
      "loc": {
        "start": {
          "line": 66,
          "column": 28
        },
        "end": {
          "line": 66,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1629,
      "end": 1633,
      "loc": {
        "start": {
          "line": 67,
          "column": 12
        },
        "end": {
          "line": 67,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1633,
      "end": 1634,
      "loc": {
        "start": {
          "line": 67,
          "column": 16
        },
        "end": {
          "line": 67,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hasPaused",
      "start": 1634,
      "end": 1643,
      "loc": {
        "start": {
          "line": 67,
          "column": 17
        },
        "end": {
          "line": 67,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1644,
      "end": 1645,
      "loc": {
        "start": {
          "line": 67,
          "column": 27
        },
        "end": {
          "line": 67,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 1646,
      "end": 1651,
      "loc": {
        "start": {
          "line": 67,
          "column": 29
        },
        "end": {
          "line": 67,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1651,
      "end": 1652,
      "loc": {
        "start": {
          "line": 67,
          "column": 34
        },
        "end": {
          "line": 67,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1665,
      "end": 1669,
      "loc": {
        "start": {
          "line": 68,
          "column": 12
        },
        "end": {
          "line": 68,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1669,
      "end": 1670,
      "loc": {
        "start": {
          "line": 68,
          "column": 16
        },
        "end": {
          "line": 68,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "onUnpause",
      "start": 1670,
      "end": 1679,
      "loc": {
        "start": {
          "line": 68,
          "column": 17
        },
        "end": {
          "line": 68,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1679,
      "end": 1680,
      "loc": {
        "start": {
          "line": 68,
          "column": 26
        },
        "end": {
          "line": 68,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1680,
      "end": 1681,
      "loc": {
        "start": {
          "line": 68,
          "column": 27
        },
        "end": {
          "line": 68,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1681,
      "end": 1682,
      "loc": {
        "start": {
          "line": 68,
          "column": 28
        },
        "end": {
          "line": 68,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1691,
      "end": 1692,
      "loc": {
        "start": {
          "line": 69,
          "column": 8
        },
        "end": {
          "line": 69,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1697,
      "end": 1698,
      "loc": {
        "start": {
          "line": 70,
          "column": 4
        },
        "end": {
          "line": 70,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Cleanup code for when destroying an Updateable.\n     ",
      "start": 1704,
      "end": 1770,
      "loc": {
        "start": {
          "line": 72,
          "column": 4
        },
        "end": {
          "line": 74,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "destructor",
      "start": 1775,
      "end": 1785,
      "loc": {
        "start": {
          "line": 75,
          "column": 4
        },
        "end": {
          "line": 75,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1785,
      "end": 1786,
      "loc": {
        "start": {
          "line": 75,
          "column": 14
        },
        "end": {
          "line": 75,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1786,
      "end": 1787,
      "loc": {
        "start": {
          "line": 75,
          "column": 15
        },
        "end": {
          "line": 75,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1788,
      "end": 1789,
      "loc": {
        "start": {
          "line": 75,
          "column": 17
        },
        "end": {
          "line": 75,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1798,
      "end": 1802,
      "loc": {
        "start": {
          "line": 76,
          "column": 8
        },
        "end": {
          "line": 76,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1802,
      "end": 1803,
      "loc": {
        "start": {
          "line": 76,
          "column": 12
        },
        "end": {
          "line": 76,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "deregister",
      "start": 1803,
      "end": 1813,
      "loc": {
        "start": {
          "line": 76,
          "column": 13
        },
        "end": {
          "line": 76,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1813,
      "end": 1814,
      "loc": {
        "start": {
          "line": 76,
          "column": 23
        },
        "end": {
          "line": 76,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1814,
      "end": 1815,
      "loc": {
        "start": {
          "line": 76,
          "column": 24
        },
        "end": {
          "line": 76,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1815,
      "end": 1816,
      "loc": {
        "start": {
          "line": 76,
          "column": 25
        },
        "end": {
          "line": 76,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1821,
      "end": 1822,
      "loc": {
        "start": {
          "line": 77,
          "column": 4
        },
        "end": {
          "line": 77,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Called when the the object is first introduced.\n     * \n     * Managing code will call this on first iteration once introduced to the game loop.\n     ",
      "start": 1828,
      "end": 1991,
      "loc": {
        "start": {
          "line": 79,
          "column": 4
        },
        "end": {
          "line": 83,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "onStart",
      "start": 1996,
      "end": 2003,
      "loc": {
        "start": {
          "line": 84,
          "column": 4
        },
        "end": {
          "line": 84,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2003,
      "end": 2004,
      "loc": {
        "start": {
          "line": 84,
          "column": 11
        },
        "end": {
          "line": 84,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2004,
      "end": 2005,
      "loc": {
        "start": {
          "line": 84,
          "column": 12
        },
        "end": {
          "line": 84,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2006,
      "end": 2007,
      "loc": {
        "start": {
          "line": 84,
          "column": 14
        },
        "end": {
          "line": 84,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2007,
      "end": 2008,
      "loc": {
        "start": {
          "line": 84,
          "column": 15
        },
        "end": {
          "line": 84,
          "column": 16
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Called on every update within the game, once the object has had onStart called.\n     ",
      "start": 2014,
      "end": 2112,
      "loc": {
        "start": {
          "line": 86,
          "column": 4
        },
        "end": {
          "line": 88,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "onUpdate",
      "start": 2117,
      "end": 2125,
      "loc": {
        "start": {
          "line": 89,
          "column": 4
        },
        "end": {
          "line": 89,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2125,
      "end": 2126,
      "loc": {
        "start": {
          "line": 89,
          "column": 12
        },
        "end": {
          "line": 89,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2126,
      "end": 2127,
      "loc": {
        "start": {
          "line": 89,
          "column": 13
        },
        "end": {
          "line": 89,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2128,
      "end": 2129,
      "loc": {
        "start": {
          "line": 89,
          "column": 15
        },
        "end": {
          "line": 89,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2129,
      "end": 2130,
      "loc": {
        "start": {
          "line": 89,
          "column": 16
        },
        "end": {
          "line": 89,
          "column": 17
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Called when the object is being removed or cleaned up from usage.\n     ",
      "start": 2136,
      "end": 2220,
      "loc": {
        "start": {
          "line": 91,
          "column": 4
        },
        "end": {
          "line": 93,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "onEnd",
      "start": 2225,
      "end": 2230,
      "loc": {
        "start": {
          "line": 94,
          "column": 4
        },
        "end": {
          "line": 94,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2230,
      "end": 2231,
      "loc": {
        "start": {
          "line": 94,
          "column": 9
        },
        "end": {
          "line": 94,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2231,
      "end": 2232,
      "loc": {
        "start": {
          "line": 94,
          "column": 10
        },
        "end": {
          "line": 94,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2233,
      "end": 2234,
      "loc": {
        "start": {
          "line": 94,
          "column": 12
        },
        "end": {
          "line": 94,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2234,
      "end": 2235,
      "loc": {
        "start": {
          "line": 94,
          "column": 13
        },
        "end": {
          "line": 94,
          "column": 14
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Called when the object is intended to be paused.\n     ",
      "start": 2241,
      "end": 2308,
      "loc": {
        "start": {
          "line": 96,
          "column": 4
        },
        "end": {
          "line": 98,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "onPause",
      "start": 2313,
      "end": 2320,
      "loc": {
        "start": {
          "line": 99,
          "column": 4
        },
        "end": {
          "line": 99,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2320,
      "end": 2321,
      "loc": {
        "start": {
          "line": 99,
          "column": 11
        },
        "end": {
          "line": 99,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2321,
      "end": 2322,
      "loc": {
        "start": {
          "line": 99,
          "column": 12
        },
        "end": {
          "line": 99,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2323,
      "end": 2324,
      "loc": {
        "start": {
          "line": 99,
          "column": 14
        },
        "end": {
          "line": 99,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2324,
      "end": 2325,
      "loc": {
        "start": {
          "line": 99,
          "column": 15
        },
        "end": {
          "line": 99,
          "column": 16
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Called when the object is to be unpaused from paused state.\n     ",
      "start": 2331,
      "end": 2409,
      "loc": {
        "start": {
          "line": 101,
          "column": 4
        },
        "end": {
          "line": 103,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "onUnpause",
      "start": 2414,
      "end": 2423,
      "loc": {
        "start": {
          "line": 104,
          "column": 4
        },
        "end": {
          "line": 104,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2423,
      "end": 2424,
      "loc": {
        "start": {
          "line": 104,
          "column": 13
        },
        "end": {
          "line": 104,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2424,
      "end": 2425,
      "loc": {
        "start": {
          "line": 104,
          "column": 14
        },
        "end": {
          "line": 104,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2426,
      "end": 2427,
      "loc": {
        "start": {
          "line": 104,
          "column": 16
        },
        "end": {
          "line": 104,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2427,
      "end": 2428,
      "loc": {
        "start": {
          "line": 104,
          "column": 17
        },
        "end": {
          "line": 104,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2429,
      "end": 2430,
      "loc": {
        "start": {
          "line": 105,
          "column": 0
        },
        "end": {
          "line": 105,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "eof",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2430,
      "end": 2430,
      "loc": {
        "start": {
          "line": 105,
          "column": 1
        },
        "end": {
          "line": 105,
          "column": 1
        }
      }
    }
  ]
}