Flexible Architecture with Interfaces