There are a variety of ways this could be implemented, one possibly being passing a method to `calculate_structure_function`