switch childComponents to be an array and make initial component optional. expose functions to programmatically bind/unbind nodes.