Changed the calls to get the workspace folders and folder contents to be one call getFolderContents. The call uses dummy values to indicate when it wants the very root of all directories and when it needs the organisation workspaces. This allows Flash to call the same method (and the same data) for all parts of the display tree, which makes drag and drop much easier.
Most of the "rearranging" of the data and the dummy values has been kept in the Action class as it is designed to suit Flash, rather than being normal business logic.