1. A method including: receiving an indication that a user is attempting to drag a graphical representation of an object from an initial position in a multi-level object hierarchy depicted on a display; determining a type of the object; determining whether the type of the object is identified by a source element of one or more source elements in a properties file, the properties file being a text file written in a markup language and the properties file storing the one or more source elements, each source element identifying a valid source for a drag-and-drop operation; when the type of the object is identified by the source element in the properties file, allowing the user to drag the graphical representation of the object within the multi-level object hierarchy depicted on the display; when the type of the object is not identified by any source element in the properties file, forbidding the user from dragging the graphical representation of the object within the multi-level object hierarchy depicted on the display; receiving an indication that the user has dragged the graphical representation of the object over a graphical representation of an other object at a target position within the same multi-level object hierarchy depicted on the display, the target position being different than the initial position; determining a type of the other object; determining whether the type of the other object is identified by a target element in the properties file, the target element being nested within the source element which references the object, the target element identifying a valid target for a drag-and-drop operation having a source identified by the source element, and the target element including a reference to an action function; when the type of the other object is identified by the target element in the properties file nested within the source element identifying the object, allowing the user to drop the graphical representation of the object onto the graphical representation of the other object at the target position within the multi-level object hierarchy; and when the type of the other object is not identified by any target element in the properties file nested within the source element identifying the object, forbidding the user from dropping the graphical representation of the object onto the graphical representation of the other object at the target position within the multi-level object hierarchy; wherein: allowing the user to drop the graphical representation of the object onto the graphical representation of the other object includes: extracting the reference to the action function from the target element; and calling the referenced action function; the object represents a logical unit of storage (LUN) within a data storage system; the other object represents a storage group within the data storage system; and calling the referenced action function causes: the LUN to be added to the storage group; and the graphical representation of the other object to expand to depict all LUNs included within the storage group.