Add watch script, extract base service