plugins: extracted GraphNode class

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>