Make it easy to extend the library, re #251