* Cleaning methods and code to improve performance and load size
* Adding and fixing typing for methods
* Adding the `Synchronizer` class
* change `createDataElements` to `createDataElement` as only a single data element is created each time.
* change `updateDataElements` to `updateDataElement` for same reason
* change `createRuleComponents` to `createRuleComponent` for same reason
* change `createRules` to `createRule` for same reason
* rename `extractAnalyticsCode` to `extractAnalyticsCustomCode` for clarity\
Patch
* reverse the creation of ruleComponent in order to preserve the order.