checkIsHostForProgram function takes a new 'logic' argument.
It determines which logic should be used to look up for program entity. If the argument is not given, the standard program_logic will be used.
/**
* @param {Page[]} pages
* @param {number} [id] Specifies the id, if applicable.
* @param {String} [title = This is untitled.] Specifies the title.
*/
function Document(pages, id, title){
}