renamed methods and allowing for empty delegates (lazy delegates)

lazy delegates may be resolved at a later point or stored in a generic table. Their exact semantics are implementation specific.