How domain-driven design can help your next Drupal project