See InjectABL for references used for the IoC container.
MVC, MVP, MVVM designWikipedia's MVP page
MVC#Supervising Presenter patternPassive View pattern
DEV-36: Composite MVP - Building Blocks in Presentation Layer or just the slides
Composite MVP and composite views
The Observer pattern, and also here.
Enumerations defined and usage guidelines
Why use EventArgs and why EventArgs:Empty?
The Singleton pattern defined