store displacement logic in std::function and delay calc until dx/dy are evaluated (layout)
move displacement_evaluator_ initialisation
c++ style fixes