GraphQL as a powerful abstraction layer