Split up directives into shared module and separate files