What is a distribution? An object-oriented approach
allendowney.blogspot.com