Pin-mapping (non)conventions for custom Arduino boards?

I guess most of the library were written for a specific situation at the first place.
Few years back when I was writing library for PIC microcontroller, the library always have options like:

  • Hardware or software based peripheral
  • Interrupt based or polling based
  • Which pin to use

But this of course take quite a long time to come out with a solid group of library for all peripheral and interface.
IMHO, there should be like a framework or skeleton body how a library should be in order for everyone who wish to write libraries.