Separate out the data objects into separate classes (e.g., outdoor temperature, billing period usage)
Evaluate operations performed on data and restructure classes if necessary (for instance, take a look if the functions called in the initialization of BillingPeriod should be moved elsewhere)
Investigate how fuel data will be input into the rules engine (i.e., will it be parsed by the Javascript or does it need to be validated by the Python)
Input to the rules engine should be validated:
test_examples
into the rules engine (will require restructuring of test input data)test_examples
into rules engine