Placed utility methods in the abstract class to avoid boilerplate code.