use more Rubyesque inheritance for work item extensions