Move program loading to programs.coffee. Update logic to allow for inherited interrupts