-record(data_provider, { create_nonce :: fun(() -> {ok, lightbulb@nonce:nonce()} | {error, binary()}), validate_nonce :: fun((binary()) -> {ok, nil} | {error, binary()}), get_registration :: fun((binary(), binary()) -> {ok, lightbulb@registration:registration()} | {error, binary()}), get_deployment :: fun((binary(), binary(), binary()) -> {ok, lightbulb@deployment:deployment()} | {error, binary()}), get_active_jwk :: fun(() -> {ok, lightbulb@jwk:jwk()} | {error, binary()}) }).