Changed blockPattern to an abstract method to ensure that it is always implemented.