Small cleanup by adding ApplicationModel abstract class

Did small cleanup, by adding ApplicationModel Class. 

Can define methods in ApplicationModel class, which can be used by other models in future.