- Write display driver for EPD
- Normalize C++ formatting
- Move Helper into Common
- Create Services container
- Put Messaging service into Services
- Construct all Controllers with Services
- Put all peripheral interfaces into Services
- Display
- Keypad (no controllers currently need KP. They receive key events)
- FONA
- Mark long-lived things (controllers, resources) as static
- Organize and namespace Controllers
- Replace SHARP display with EPD
- Separate GFX and display driver in all controllers
- Write thin Display abstraction around Waveshare_EPD
- Wire up the EPD and confirm it works
- Swap out SHARP with EPD in Display abstraction