Switched __enter__ and start; added comments; cleaned up init.