When adding new GC controller-like SI devices, why not copy hundreds of lines of code verbatim from GCController rather than subclassing?