Parul,
I'm not sure how you will implement it, but if you only use API for this (eg. use HistoricTaskInstance to get start and end time, and use custom variables to indicate pauzed-state), I suggest you write a facade service on top of the Activiti TaskService API.
If you are doing more that just calling API-methods in your Impl (using Commands and the CommandContext), your suggestion is the cleanest way to get inside the engines context I guess…