Basic approach for NSManagedObjects in an application without a UI
===

I'm writing a client/server Cocoa application.  The application server doesn't have a UI.  To simplify this question, consider the data to be moving via CFNetwork streams (not a web app). Each iOS client has the ability to request tasks to be performed the OSX application server, such as: 

 - Fetch and return a record or set of records
 - Create a record
 - Update a record

I see UI examples where the NSManagedObjectContext data is managed by a NSObjectController/NSArrayController and a binding to a View.

I won't have a View on the server, and I understand that I shouldn't move this functionality into the AppDelegate.

What approach should I use?  For example, should I create classes that each respond to a set of related client requests where each class owns a NSManagedObjectContext related to its unit of work?  Forgive my pseudocode:

    @interface AccountManagement : NSObject
    NSManagedObjectContext *contextAccounts;
    -(void)fetchAccounts;
    -(void)createAccount;
    -(void)updateAccount;
    @end

    @interface SiteManagement : NSObject
    NSManagedObjectContext *contextAccounts;
    -(void)fetchSite;
    -(void)createSite;
    -(void)updateSite;
    @end

I'm also struggling to see how an NSArrayController fits into this structure, perhaps I don't need one since there is no UI?