Better tests for InMemoryBackend
Better naming of fields of Edge
Internal data changed to Symbol from String
Backend refactored to support add and remove actions