Add a plugin architecture to fix Issue #2.