Reordered stuff
CALL_ONCE macro to mark code sections to be called once
Reordering and comments
Implemented component factory, now creating components from their name as strings is available