Adding base of plugin system (first draft)