Possible improvements

I'm currently experimenting with this driver...

This pull request has the main purpose of making any issues or improvements I find visible to you, in the hope that they may be useful. I don't expect you to accept it as is.

Please, at your convenience, review the changes that I might periodically add here and share your thoughts on them. If you decide that any patches are worth merging, I'll be happy to provide separate pull requests for them.