An amusement park system, comprising: one or more hardware components ; a controller , comprising: a memory device having a game layer and a software layer stored thereon, wherein the game layer comprises game logic, and wherein the software layer comprises a game application programming interface (API) communicatively coupled to the game layer , a wrapper API communicatively coupled to the game API , and a plurality of wrappers communicatively coupled to the wrapper API ; and a processor configured to execute instructions stored on the memory device , wherein the instructions are configured to cause the processor to: receive a signal indicative of a change in the one or more hardware components of the amusement park system; and communicate with the one or more hardware components , based on the received signal, via a wrapper of the plurality of wrappers to receive an input from the one or more hardware components , or drive operation of the one or more hardware components . one or more hardware components ; a controller , comprising: a memory device having a game layer and a software layer stored thereon, wherein the game layer comprises game logic, and wherein the software layer comprises a game application programming interface (API) communicatively coupled to the game layer , a wrapper API communicatively coupled to the game API , and a plurality of wrappers communicatively coupled to the wrapper API ; and a processor configured to execute instructions stored on the memory device , wherein the instructions are configured to cause the processor to: receive a signal indicative of a change in the one or more hardware components of the amusement park system; and communicate with the one or more hardware components , based on the received signal, via a wrapper of the plurality of wrappers to receive an input from the one or more hardware components , or drive operation of the one or more hardware components . a memory device having a game layer and a software layer stored thereon, wherein the game layer comprises game logic, and wherein the software layer comprises a game application programming interface (API) communicatively coupled to the game layer , a wrapper API communicatively coupled to the game API , and a plurality of wrappers communicatively coupled to the wrapper API ; and a processor configured to execute instructions stored on the memory device , wherein the instructions are configured to cause the processor to: receive a signal indicative of a change in the one or more hardware components of the amusement park system; and communicate with the one or more hardware components , based on the received signal, via a wrapper of the plurality of wrappers to receive an input from the one or more hardware components , or drive operation of the one or more hardware components . receive a signal indicative of a change in the one or more hardware components of the amusement park system; and communicate with the one or more hardware components , based on the received signal, via a wrapper of the plurality of wrappers to receive an input from the one or more hardware components , or drive operation of the one or more hardware components . <EOS>