restructuring StorableChart into separate traits