This is reference implementation of Layering in OOD, written in C#.