That&#x27;s why Anvil has the lightweight concept of &quot;renderable&quot; - it&#x27;s just a lambda with view hierarchy declaration, which can be put anywhere you find appropriate in your architecture - in activities, fragments, in self-contained components, in special dedicated &quot;view&quot; layer classes, you can move common parts into separate styles module etc etc. Since you have the full power of your programming language you are free to refactor it any way you like. Anvil has no restrictions on that.