By parsing events with ApplyEffect events, it should be possible to gather more information about the upgrade level of individual components. This would likely require scrapping the parse.py file and taking another, object oriented approach a lot like the Parser in realtime.py. This will take considerable effort but the result might be worth it.