Stop repeating the same code all over the place and inherit it properly instead