In reply to vickydhudashia:
With respect to the callback solution, this sounds like your compilation order is wrong or you do not compile the callback files.
Please check this.
And you have other weaknesses in your code:
(1) in the agent:
sqr = base_seqr::type_id::create("sqr", this); // without a parameter, because base seqr is not parameterized.
(2) You are constructing components and objects in the constructor. This is legal but might result in problems. components have to be constructed in the build_phase and objects are constructed in the run_phase.