This chapter the different types of extensions that can be implemented: