Updated components to use event instead of method