Move service into trait