I want to create an obligation stating all the details about a particular property which is to be transferred to another party. So is creating this obligation a state?
Yes. In Corda any shared fact on the ledger is a state.
In general, CorDapps decompose into three main parts: