Subclassing sequential and overriding forward (just like you are doing now) is the right approach.
We wanted to get rid of Sequential itself, but we kept it as a convenience container.
There is no screwing up of memory management because of subclassing sequential (or caching outputs), it works out fine.