Shortcuts

Implement shortcuts mentioned in #55 
Why is currentId being aliased with an inferiorly-named copy? It looks like it is only used for comparisons or to return. If there is a reason for it, we'd better document the reason so someone doesn't refactor it away. If there is no reason for it, we should refactor it away.