Adaptable Architecture: Theory and practice