PipelineStage.make_stage() has no fixed signature. If the method is called with an unknown stage parameter (e.g. by mistyping the name), it does not throw an exception but instead silently discards the value because it cannot be mapped to any of the defined stage parameters.
Suggestion:
Add a check in StageConfig.set_config() for any keys that are not present in its underlying stage parameter dictionary.