Removed shared pointers storage.
Generally, associated objects could easily be stored outside Graph class.
graph class now uses PIMPL idiom