Many fixes + last working version before interrupts

- code optimizations
- clean up style
- adjustments to account for neopixels