- The domain needs a data structure to store actions and preserve the order of application. - also needs functions to add new actions. - [x] `add_fill_action` - [x] `add_set_action` - [x] `add_remove_action` - Refactor the following functions to use the above functions - [x] `fill_with_particles` should use `add_fill_action` - [x] `set_properties` should use `add_set_action`