Preliminary version created.
Hopefully everything works. Still need to add a method to 'edit' offline
players