There's a section in the README that explains how to create custom extension modules.
But, this was written before the metadata classes came into existence and before CSS::Properties, which is metadata driven.
Upshot is, that if anyone tries to follow these instructions to generate a custom module, they'll be very disappointed if they then try to use it with CSS::Properties.
More work is needed to make meta-data generation accessible for generated classes and/or allow a lightweight run-time extension mechanism, e.g. adding a class.