Project inheritance is definitely the simplest option here, not requiring a custom module at all.
If you do decide to go with a custom module, I would skip the custom component that's pre-registered with a default binding, and just register a custom binding type in your module.