Code to an interface and not a concrete class

The ctor and addAll method requires ArrayList when Collection seems sufficient