public Assignment CreateAssignment(string type, int amount)
    {
        Assignment assignment = assignmentManager.CreateAssignment(type, amount);
        Carrier    carrier    = carrierManager.GetFreeCarrier();

        if (carrier == null)
        {
            Debug.LogError("No carrier available!");
            return(assignment);
        }

        if (SetInstructions(carrier, assignment))
        {
            carrier.IsFree = false;
            instructionServices.CarryOutInstructions(carrier);
        }

        return(assignment);
    }