My 2 cents thought is as follows:-
I never read any post, where some one mentioned anything about implementation.
Even when i designed my assignment, i never implemented, so i think we need to trust our gut feeling, experience and knowledge here and small advice remember this is an assignment and not a live project, so we can assume few things while designing, where as in live project its diffcult to do the same.
This was the problem i was having when i intially started designing, i was thinking everything from project point of view, but i read some
thread which mentioned same thing, that treat assignment like assignment and not as live project.