Broke out a few helper methods from initWithSiteID for readability / maintainability - props @diegoreymendez