Thinking about a plugin-based architecture...