WIP: Create service abstraction layer