This allows us to swap out the implementation in the future and on different platforms without major changes to the extensions themselves.
This allows us to swap out the implementation in the future and on different platforms without major changes to the extensions themselves.