prepare functions are specified explicitly, outside trait callback.

allows prep phase to take place before *any* traits have been initialised, so any trait can inject arguments into any other trait.
0.4.0