1. A system for controlling program execution, comprising: an event-based core controller comprising: a set of state-preserving elements; and one or more asynchronous shift elements; wherein the core controller starts and stops execution of a program based on one or more control signals; and wherein, for each instruction of the program, the core controller triggers a target component to execute the instruction by generating and sending an instruction and/or a trigger pulse to the target component.