Reflection allows you to put the interfaces to Account and Customer into a shared module and the business logic implementations into their own mutually independent modules, thus removing the cyclic compile time dependency.
You "wire up" the implementations at runtime, using reflection.
You "wire up" the implementations at runtime, using reflection.