Component system improved

Fixes #168
Merge branch 'enhancement/components' into develop