This removes duplicated code across different codec.
This reduces the amount of code needed in each codec class.