James Shore proposes to experiment a design challenge to deal with architecture issue. It was posted a week ago and some answers already came out. I haven't looked at them yet and I wanted to try on my own. So, here it is. My solution is coded in C# with basic tooling : Monodevelop IDE, NUnit testing framework and Moq mocking framework.