Fix memory leak issues. Change singletons logic. Make delegate property "weak" instead "retain"