Refactor to allow for constant parent child communication