Initial commit. Framework is far from completed.