A generic multi-dimensional mapping library in C#