recomposition of ComponentsManager

work in progress, tests to finalise