Move Directive types to their own data types