With only constant values, maybe a reason the keep the subclasses is to use Inheriting constructors, but they're not being used. 
If in the future there's methods with inputs that may behave differently on each class, so maybe we should maintain them just in case. Otherwise we could just have a factory that takes the network id as parameter and returns an instance, reusing the same parametrized constructor of the same class for all networks.
The current virtual methods are definitively not needed, but I will maintain the subclasses in this pull request.