Resturctured app to assemble components and use event based communication.