Christopher,
Glad the code is pretty straightforward. In our opinions, it's actually really hideous
When we first started the profile plugins (2 years ago), they were really short and easy to create. With time, and more extensions we integrated with, they got pretty nasty looking. In the next few months, we'll be overhauling the system to make profile plugins easier to create (for us and users) and reduce some common bugs that happen across the board.
Anyways.. with that said, if you haven't already, you may want to check out our pretty outdated
Profile Plugins for JFBConnect
guide. It is outdated, but has some of the concepts written down. Some functions have changed though, so it may confuse you more
As for your specific questions:
* Clone and change names is the right way to go. JFBConnect doesn't 'expect' any profile plugins, so you can create one and JFBConnect will just see it like any others.
* The variables are created magically. We handle that. Just replace profiles_xyz_ with whatever you want. There are a few variables you should always define, even if they aren't 'settable':
import_avatar
import_always
field_map
Those are expected to be 'set' by JFBConnect for each plugin. Any other variables you create are for your use only within the plugin, but you can create as many as you want.
Hope that helps explain, but if you have any questions, we'll help how we can!
Thanks,
Alex