public static function get_mandatory_properties() {
        $properties = self::define_properties();
        $mandatoryproperties = array_filter($properties, function($property) {
            return empty($property['optional']);
        });
        return array_keys($mandatoryproperties);
    }