Store signal decoder in struct to significantly simplify API.