public CommentViewModel(IBaconProvider baconProvider, Thing comment, string linkId, bool oddNesting, int depth = 0)
{
_isMinimized = false;
_comment = new TypedThing<Comment>(comment);
_baconProvider = baconProvider;
_redditService = _baconProvider.GetService<IRedditService>();
_navigationService = _baconProvider.GetService<INavigationService>();
_userService = _baconProvider.GetService<IUserService>();
_dynamicViewLocator = _baconProvider.GetService<IDynamicViewLocator>();
_markdownProcessor = _baconProvider.GetService<IMarkdownProcessor>();
_linkId = linkId;
OddNesting = oddNesting;
Depth = depth;
AuthorFlair = _redditService.GetUsernameModifiers(_comment.Data.Author, _linkId, _comment.Data.Subreddit);
AuthorFlairText = _comment.Data.AuthorFlairText;
_showExtendedView = new RelayCommand(ShowExtendedViewImpl);
_gotoReply = new RelayCommand(GotoReplyImpl);
_save = new RelayCommand(SaveImpl);
_report = new RelayCommand(ReportImpl);
_gotoFullLink = new RelayCommand(GotoFullLinkImpl);
_gotoContext = new RelayCommand(GotoContextImpl);
_gotoUserDetails = new RelayCommand(GotoUserDetailsImpl);
_gotoEdit = new RelayCommand(GotoEditImpl);
_minimizeCommand = new RelayCommand(() => IsMinimized = !IsMinimized);
Body = _comment.Data.Body;
}