Separate separate gateway functinoality. Add extra Adaptive stuff only when needed. See #125