requires: The class dependencies required for a class to work. These are guaranteed to be loaded prior to the current class being instantiated.
uses: Optional class dependencies that are used by, but not required by, a class. These can be loaded asynchronously and do not have to be available for the class to be instantiated.