Your whole question screems X/Y problem bu sealed ...
# announcements
k
Your whole question screems X/Y problem bu sealed classes are the closest there is: all of the implementing classes are known at compile time.