Remake of some classes to support LinkedHash* to provide more controlled
results... STOPed at the end of funcion composition @ IMCREOimc