Why introduce a separate interface? Why not just #if NET around it?