An example of dynamically extensible Java API using the Service Provider Interface