Implement settings factory
Refactor registration

to locate the backend communication in a factory.