Extend setup module

We have a internal CMDB that gathers facts from systems using the setup module on playbook execution. Is there a way to extend the setup module to include extra information?
From what I have read the local facts would work for Linux systems but the path wouldn’t exist on Windows systems.

Nevermind, to answer my own question http://docs.ansible.com/ansible/developing_modules.html#module-provided-facts . Although this does add the hassle of adding a custom module to playbooks.
It would be nice to have a hook to add a module to run on playbook execution like the setup module though.

You might want to weigh in on this proposal https://github.com/ansible/proposals/issues/17

Local facts for Windows have been available since 2.1- you just need to set fact_path to tell it where on the target system to find a directory of .ps1 scripts to execute. It currently expects to find a dictionary/array on the output pipeline from each script that gets grafted onto a new fact named ansible_(factsfilename-sans-extension).