This only affected FutureSalts, but it's useful that it behaves the way it should. cc @JuanPotato for spotting the bug.
Split everything into several functions, reused some more common code (like accessing the "real" arguments instead constantly filtering) and more, like using classmethods instead staticmethods and then hardcoding the class name.