use declarative api for describing view dependencies programmatically