Prepare to introduce ABS API Remote
Introduce necessary abstractions for Remote API
Refactoring for Remote API