Defining the interface

First, we define our interface:

interface MediaManController { 
    createBookCollection(): void; 
    reloadBookCollections(): void; 
    removeBookCollection(identifier: string): void; 
    createBook(collectionIdentifier: string): void; 
    removeBook(collectionIdentifier: string, bookIdentifier: string): 
void; }

Our controller is really simple at this point; it defines methods to manage book collections and books.