SGC 
Simple Godot Component System for any Node
The component class is abstract and can be extended for other scripts to inherit.
SGCComponent
It can be added to any node (as long as it is not one of the same type).
SGCComponentProperty
These are properties of all types supported by the engine. They are only added to one component.
SGCComponentPropertyGroup
You can separate the properties of a component using property groups. These are resources that can be saved.