The easiest way I can think of to achieve such a behavior would be to use Scala 2.10's Dynamic feature. Thus Point must extend Dynamic and you can "mix in" arbitrary fields by adding the calculation logic to the member functions selectDynamic and updateDynamic . This is not quite what "mix in" actually refers to, but it nevertheless allows you to add functionality dynamically.
I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.