Separating core functionality to let other gems to depend on (connectors, generators, synthesizers)