development of java communication api using remote method invocation based on sending functors over object streams