refactor properties directive

- move the extraction of the project's schemes into its own module