Extract multiple features in a single Forward pass

Likewise - make them smart pointers.