Make ForceAppWithSmartStore a standalone class and more refactoring