Using vector+unique_ptr instead of AList in EngngModel.
Moved random field generators into functions.