Reusable components for domain modeling