My not B4J but B4A. I would not know how to write it in B4J.
The project is cute, but the initial idea is unfortunately not mine. It's not original. In the first post I see something I saw on GitHub.
I'm like the Chinese, I have no original ideas, but I copy well.
I think you have to do the same for your project in B4J for who you can serve, then your programming will be much cleaner than mine which is confusing.
Cmq just finish the library and perhaps the code if it is interesting to someone.