Representing Charts (Differential Geometry)

Hi! I’m trying to implement local charts, like in differential geometry. And I’m not really sure what would be the best way to do it in Julia.
A chart is a pair (U, f), U is an open set and f is a function from the open set to Rn.

In a object oriented language I would make an object for with all the parameters needed to define the open set, and methods for f, its inverse, its derivatives, and see if a point x is in the corresponding domain. However not sure how to structure this properly.

The easy approach is to have one class for the parameters with a key, and then arrays with the corresponding methods of each kind, However it fills wrong.

Any ideas?