#include <stdio.h>
#include <objc/Object.h>

@protocol Job
- do;
@end

@interface MyJob: Object<Job>
- do;
@end
@implementation MyJob
- do
{
	printf("Doing Job\n");
	return self;
}
@end

@interface JobExecutor: Object
- doWith: (id<Job>) job for: (int) count;
@end

@implementation JobExecutor
- doWith: (id<Job>) job for: (int) count
{
	for (int i = 0; i < count; ++i) {
		[job do];
	}
	return self;
}
@end
