Work-in-progress: peripherals API (it compiles!)