Introduced interface to avoid circular object creation

git-svn-id: https://svn.wso2.org/repos/wso2/carbon/kernel/trunk@178030 a5903396-d722-0410-b921-86c7d4935375
Introduced interface to avoid circular object creation

git-svn-id: https://svn.wso2.org/repos/wso2/carbon/kernel/trunk@178031 a5903396-d722-0410-b921-86c7d4935375