Declarative C# as an alternative to XAML