I will start with a simple example where we want to have an AbstractBuilder for building Pet instances, in our example this will be a Dog.