Accessing routines within one library from another

I am new to C++ and Arduino.

I have taken an existing library MCP23S17 and modified it to work with the current SPI library. This works fine.
What i am now trying to do is to drive a LCD 20x4 display and a 6 key keypad via the SPI bus and the MCP23S17 port expander chip.

So what i need to do now is to modify the standard LiquidCrystal library to work with the MCP23S17.

So the question is how do i access the public routines from the LiquidCrystal library?

The following statements are declaired in the main program and i have no issues accessing the public routines from it.

#include <SPI.h> // SPI library initialise the MOSI, MISO, and SPI_CLK pins as per ATMEGA 328P
#include <Mcp23s17.h> // Include MCP23S17 library
#include <LiquidCrystalDisplaytech.h> // Library for Displaytech LCD module 204A / keypad

#define MCP23S17_SLAVE_SELECT_PIN 10 // arduino <-> SPI Slave Select -> CS (Pin 11 on MCP23S17 DIP)

// MCP23S17 GPIO pin constants // Display/keypad
#define GPIO_A0 0 // port A0 -> DB0
#define GPIO_A1 1 // port A1 -> DB1
#define GPIO_A2 2 // port A2 -> DB2
#define GPIO_A3 3 // port A3 -> DB3
#define GPIO_A4 4 // port A4 -> DB4
#define GPIO_A5 5 // port A5 -> DB5
#define GPIO_A6 6 // port A6 -> DB6
#define GPIO_A7 7 // port A7 -> DB7

#define GPIO_B0 8 // port B0 -> RS
#define GPIO_B1 9 // port B1 -> RW
#define GPIO_B2 10 // port B2 -> E
#define GPIO_B3 11 // port B3 -> keypad row 1
#define GPIO_B4 12 // port B4 -> keypad row 2
#define GPIO_B5 13 // port B5 -> ketpad row 3
#define GPIO_B6 14 // port B6 -> keypad col 1
#define GPIO_B7 15 // port B7 -> keypad col 2

MCP23S17 Mcp23s17_0 = MCP23S17(MCP23S17_SLAVE_SELECT_PIN,0x00); // Instantiate Mcp23s17 object for the display and keypad
MCP23S17 Mcp23s17_1 = MCP23S17(MCP23S17_SLAVE_SELECT_PIN,0x01); // Instantiate Mcp23s17 object for tri-state led's

So the question is how do i access the public routines from the LiquidCrystal library?

There are not public routines in the LiquidCrystal library. There are public methods. The distinction is not trivial.

A method is a function that only an instance of the class can invoke. If you need to invoke a method that is defined in the LiquidCrystal library, you need to have an instance of the LiquidCrystal class. You then use that instance to invoke its methods.

Thanks

so i would have to create a instance of the MCP23S17 class within the LiquidCrystal library to access its methods correct?