new renderablecomponent architecture