The FreedomPay Mobile product provides a library integration from mobile devices (phones/tablets) to payment terminals (the card readers you might see at a cash register). Most of our work is in building those middleware libraries for our integrators, but can involve work at the UI level. How has your Andriod/Kotlin experience prepared you for building a library that other developers will consume? What do you think are the most important considerations in library design?