First cut at shared-object module