Added Add method to the interface and default implementation, this will add or override