Added ComposableEventRepository and an implementation based on Reactor. Also added a Provider annotation to mark interfaces as belonging to a particular implementation. Made the identifier a simple string to avoid dependency cycles. This allows you to have multiple ComposableRepository post-processors in the classpath and assign some repositories to say the Redis implementation and some to others.