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.
/** @constructor */
function Circle(){}
/**
@constructor
@memberOf Circle#
*/
Circle.prototype.Tangent = function(){};
// renaming Circle#Tangent to Circle#Circle#Tangent
/**
@memberOf Circle#Tangent#
*/
Circle.prototype.Tangent.prototype.getDiameter = function(){};