use defineProperties for implementing very simple API for inabling/disabling activing items
Merge branch 'second-attempt'
implement adding/removing elements