You may want to rethink how you are sharing classes between the
implementations. The approach you describe is rather inelegant. Do you
need a vertex class for both impls? If so, does it need to be the same?
If not, why force yourself to use it?
-Robert