Supporting Domain Driven Design and Hexagonal Architectures in Ruby.