Renaming gpio to gpio_fsm.
Renaming module; moving functions around.
Using a different skeleton; adding some scaffolding for testing purposes.