Implemented in C# to complement a similar effort by my brother while he learns Java, this project practices a composition with value-semantic types, discovers a little inheritence when some commonality is recognised, and also practices test-driven development.