Feature/interfaces with node

I did changes which are we talked about except tests, can you(@hleumas) please look at it?

I emptyed master branche to get all initial interfaces and classes go trought pull request with review.