Plugin system
matildepark opened this issue · comments
In order for us to support an extensible plugin system, we'll have to structure the class to support it.
- This could mean making an event-based architecture where we structure our logic around an event queue and emitting events for modification by plugins.
- This could mean constructing a shared state system where plugins mutate state, and we ensure that there are locks on state so that no race conditions occur.
Either way, this could involve a bit of a rearchitecture.
does #33 address this via the extensions?
We don't quite incorporate it everywhere we should. I would leave this open as opportunities for extensibility in each component in a more unified way.
Between action step callbacks and the create command I feel like we essentially have plugins now.