Continue to divide generic controller into three controllers with
services.