This looks like we're skipping draining of reservoirs before doing any filling if priming disabled. I think we always want to drain both reservoirs first. Also, if we go to fill state like this, will it do a flush or a normal fill? I think it will do a flush fill since flushed flag is still FALSE.
So I've been piling up sub-classes in this one big HD class. Here you are importing yours from an outside .py file. We should be consistent. Are you proposing we separate all of the sub-classes into separate classes with their own .py file?