A Unified Treatment of Energy Derivatives and Non-Adiabatic Coupling Matrix Elements