¿Cuándo debo usar FrameworkPropertyMetadata o UIPropertyMetadata sobre PropertyMetadata simple?

Al mirar las propiedades y el comportamiento de la muestra adjunta, he visto una mezcolanza de usos de FrameworkPropertyMetadata, UIPropertyMetadatay PropertyMetadata. Dado que todos forman una jerarquía de herencia, ¿cómo elijo cuál usar?