Added notes and async types. Also refactored interfaces from rule sets.