Refactor project and platform services

We need this refactoring in order to reuse code for `iOSProjectService`
Most likely you need to use apply here. `action.apply(null, args)`.