Use plugin architecture.