Added an interface to be used for every component in order to ensure each one initialises it's sub components