Beginning C# 2008 objects : from concepts to code