    deferred class
    	EV_DOCKABLE_TARGET

    General
    	cluster: interface
    	description:
    		"Objects that allow dockable sources to be inserted as part of the
    		dockable mechanism. Use `enable_docking' to permit sources to be dropped,
    		and `veto_dock_function' to restrict which sources will be accepted. If a source
    		is rejected by the veto function, then the parent structure will be explored until
    		there are no more parents, or the source being transported is accepted.

    		`docked_actions' is fired after the source of transport has been parented in `Current'."

    Ancestors
    	EV_ANY*
    	EV_DOCKABLE_TARGET_ACTION_SEQUENCES*
    	IDENTIFIED

    Action sequences
    	docked_actions: EV_DOCKABLE_SOURCE_ACTION_SEQUENCE

    Queries
    	data: ANY
    	id_freed: BOOLEAN
    	id_object (an_id: INTEGER_32): IDENTIFIED
    	is_destroyed: BOOLEAN
    	is_docking_enabled: BOOLEAN
    	object_id: INTEGER_32
    	veto_dock_function: FUNCTION [ANY, TUPLE [EV_DOCKABLE_SOURCE], BOOLEAN]

    Commands
    	copy (other: [like Current] EV_DOCKABLE_TARGET)
    	destroy
    	disable_docking
    	enable_docking
    	free_id
    	set_data (some_data: [like data] ANY)
    	set_veto_dock_function (a_function: FUNCTION [ANY, TUPLE [EV_DOCKABLE_SOURCE], BOOLEAN])