Replicating the behavior is fine, but I don't think the behavior needs to be implemented in the same way.  The other way did it because of limitations in its design (i.e. not changing/adding APIs)