adding generic create methods, adding notion of 'ownership' in vertexes
moving UserAlert -> Alert, making it less complex by inheriting some 'ownership' awareness from Vertex (but not full-blown inheritance)
Merge branch 'feature/add_generic' into dev