Moved sub-items to separate module; more tests; some minor refactoring of sub-item classes; removed unnecessary intermediate sub-item classes