feat($resource): Add optional constructor to factored resources