moving inner actions to outer classes
extracting long running init method from constructor
code refining