So for example, I have a settings menu, which leads into other menus, and all have the same style to them. The table view cell cusomisation is done like this:

```
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = (UITableViewCell *)[self dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
                                      reuseIdentifier:CellIdentifier];

        cell.contentView.backgroundColor = [UIColor clearColor];
        cell.textLabel.backgroundColor = [UIColor clearColor];
    }

    BOOL isFirstRowInSection = NO;

    if (indexPath.row == 0) isFirstRowInSection = YES;

    BOOL isLastRowInSection = NO;

    int numberOfRowsInSection = [tableView.dataSource tableView:self numberOfRowsInSection:indexPath.section];

    if (indexPath.section == 0 && indexPath.row == numberOfRowsInSection - 1) {
        isLastRowInSection = YES;
    }

    UIImageView *imageView = [[UIImageView alloc] initWithFrame:cell.bounds];
    imageView.image = cellBackgroundImage(cell.bounds.size, isFirstRowInSection, isLastRowInSection);

    cell.backgroundView = imageView;

    //cell.textLabel.text = @"This is a cell";

    return cell;
}

```

I want this class to be used by the main settings menu and all sub-menus, but while I want them to supply their own data like what each cell's text is, i want it to take the cell styling methods from here.

How can i achieve this? Current thoughts are to replicate parts of the datasource protocol into my own delegate that they can respond to.