factored ServiceRunner into a different project