Add IMetadatable + prepare to refactor GUI classes