preferring callbacks via annotation over those from peripherals to allow overrides