5 Design Principles for Creating Highly Reusable Atomic Actions