Gateways should be specific about what they implement