More work on components architecture, getting a max call stack error unfortunately.