Printing and parsing properties of ops is currently only possible through the prop-dict attribute. This forces a specific place that the property is printed at and is generally not very flexible.
This patch adds support of passing properties to the custom directive, making it possible to incorporate them with more complex syntax. This makes it possible to parse and print them without generic syntax and without the use of prop-dict.