Split the DSL up into seperate files for easier use. Also disallowed the use of data within the DSL (they must be descriptors only)