JavaScript inheritance draft