Refactor SD::start() so it isn't horrible
Merge remote-tracking branch 'origin/release-2.0-nightly' into release-2.0-nightly