GRABAR SECUENCIA LEDS

tengo una placa con varios leds de distinto color (rojos, verdes y azules), quiero controlarlos tipo DMX con un arduino, la idea seria la siguiente (parecido al típico juego de memo, Simon dice):

Al pulsar el botón "grabación" se comienza a grabar la secuencia.
pulsamos botón 1 para que la secuencia quede grabada en el botón 1
a continuación, encendemos y apagamos los leds como queramos
luego volvemos a pulsar "grabación" para terminar de grabar (puede ser otro boton distinto configurado como STOP)

repetimos esto para varios botones y así poder crear "escenas".

Luego, al pulsar el botón 1 los leds actuarán de una manera (como hemos grabado al principio)
si pulsamos el botón 2, que actúen de otra manera (según grabado) y así sucesivamente hasta 3 ó 4 escenas.

Sé encender y apagar leds con arduino, es sencillo. Mi problema está en como dejar grabadas estas secuencias. ¿Hay que declarar variables temporales?

Te doy una idea posible.
Debes poner en marcha un timer usando millis() por ejemplo, al momento de iniciar la secuencia de grabación.
Luego ir almacenando en un vector tiempo y pulsación o cambio de ésta. El límite esta dado por la longitud del vector a utilizar pero supongo que de la manera que te lo sugiero no ocupara gran cosa.

Supongamos Boton1.
Inicias el boton de grabación, corre el tiempo y se registra un cambio.
pusas boton1, que cambia de low a high y se guarda el instante de tiempo, en milisegundos y cuando lo sueltas lo mismo, se vuelve a guardar el tiempo y el cambio. Supongamos que tu secuencia tenga 30 cambios, tendras, entonces 4 bytes por cada cambio mas 1 bytes 9 que es una exageración pero es lo mas fácil para guardar el estado del cambio o sea del boton. total (4+1)*30=150 bytes lo que es interesante pero no para preocuparse.
Una mejora sería limitar a 65535 miliseg o sea 65,535 seg lo que parece suficiente pero eso implica solo 2 bytes y para el ejemplo propuesto bajamos a 90 bytes.

Es una primer idea, fácil de realizar.

Me parece que en este caso me estarías hablando de las interrupciones de Arduino ¿verdad?
No habría otra forma de guardar esos "eventos" en algun tipo de variable ó función y que al pulsar un botón se reprodujese ese evento antes guardado?

yo no hablé de interrupciones.