added reference queue for cleaning up unused objects
added protected remove instance method
implemented cleanup directly in abstract multiton
implemented JniController