Many updates, renaming, callbacks, options, etc.

This commit closes #3, and adds a lot of new features and options. It
separates the initialization to insure the json request finishes, and
adds start and stop features