Algorithm Builder Pattern.