Kein Problem, dazu sind Wir ja da!

Noch ein Tipp:
Das "if (bit_is_set(PINA, BUTTON)){}" sieht man auch nicht mehr gerne...

Sieht man fast nur so:
if( PINA & (1<<BUTTON) ){}

Diese Sachen sind halt "klassischer", "standardisierter" für C.
Wenn Du Dich von Anfang an an die "normalen" C-Anweisungen hältst,
tuhst dich wesentlich leichter, wenn Du mal was außerhalb der
ATMEL-GCC-Umgebung machst.

Für den Anfang spielt es aber keine Rolle.

Viel Spaß noch! Du greifst es genau richtig an!