Best method to change a tab's navigation stack from a different tab programmatically?

Hello, I have a use-case where I want to modify another tab’s navigation hierarchy from within the class of a different tab.

Here is a sample I created with the tabs starter project:

  <ion-tab [root]="tab1Root" tabTitle="Home" tabIcon="home"></ion-tab>
  <ion-tab [root]="tab2Root" tabTitle="About" tabIcon="information-circle"></ion-tab>
  <ion-tab [root]="tab3Root" tabTitle="Contact" tabIcon="contacts"></ion-tab>

  templateUrl: 'tabs.html'
export class TabsPage {
  // this tells the tabs component which Pages
  // should be each tab's root Page
  tab1Root: any = HomePage;
  tab2Root: any = AboutPage;
  tab3Root: any = ContactPage;

  constructor() {


Inside of HomePage.ts I have the following code for a button click:

  public changeTabAndPushToStack(){
      // select tab index 1;
    // push ContactPage within tab index 1:[1]._views[0]._nav.push(ContactPage)

While the above works when I click on the button on HomePage (it selects the AboutPage tab, and pushed ContactPage within that tab), but that last line of code is very ugly.

Is there a cleaner way to do this?