Factor out a primitive Chart class